前言
目前我想换工作,想往更高的方向反正,但是老板给我打了感情牌,这让我现在的选择非常艰难。话不多说吧,直接开始我的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