学习swift (第七天)

2016-10-18  本文已影响18人  RDPCode

前言

目前我想换工作,想往更高的方向反正,但是老板给我打了感情牌,这让我现在的选择非常艰难。话不多说吧,直接开始我的swift 之路

一、类属性(Class Property)

1, 存储属性

class Person{

var name :String!//使用自动解析下同

var age:Int!

init(姓名name :String,岁数age :Int) {

self.name= name;

self.age= age;

}

func printData(){

print("name =\(self.name) age =\(self.age)")

}

}

varxiaoming =Person(姓名:"小陈",岁数:15)

xiaoming.printData()

2.计算属性(跟只读属性差不多)

个人感觉有点想OC 中readlony 属性 的重写Get方法

class JS{

varvalue1 :Int!

var value2 :Int!

var sum :Int{

return self.value1+self.value2;

}

init(value1 :Int,value2 :Int) {

self.value1= value1

self.value2= value2

}

}

var js = JS(value1:10, value2:10)

print("value + value 2 =\(js.sum)")

3.延迟属性

swift 延迟属性与 OC中的懒加载 有点相识,不同的是OC是nil 加载 swift是只加载一次。

class class1{

var str :String!

init() {

self.str="测试"

}

}

class class2{

lazy var c1 =class1()

init() {

print("\(self.c1)")

}

}

var c2 = class2()

print("\(c2.c1.str)")

4.属性观察者

与OC中的KVO机制相似。

class Number{

var value1 :Int!{

willSet(newValue){

print("new value\(newValue)")

}

didSet{

print("finish new value")

}

}

}

varc1 =Number()

c1.value1=10

上一篇 下一篇

猜你喜欢

热点阅读