标签:
属性的存储
延时存储属性
计算属性
属性观察者
静态属性
注意:OC中的属性的替代get/set的方法,为了实现对成员变量的封装,实际上是swift中的计算属性。
在swift中的属性存储就是OC中的一般意义上的成员变量,ps:swift中是没有成员变量的
实例化: //结构体的属性初始化不用需要赋值 struct FixedRangeStruct{ var firstValue:Int let length:Int } var rangeOfStruct = FixedRangeStruct(firstValue:0,length:4) rangeOfStruct.firstValue = 12 //类的属性初始化需要赋值 class FixedRangeClass { var firstValue = 0 let lenth = 0 } var rangeOfClass = FixedRangeClass() rangeOfClass.firstValue = 12
类内部属性实例化的时候,使用lazy代表暂不实例化,等第一次使用的时候再实例化。这样的好处的,当类的属性是另一个类的时候,而且属性类极少使用的时候,可以防止一次性加载2个类的东西。
使用场景:属性使用类低,而且属性结构大,就可以使用lazy。如果是小属性,或者属性类十分频繁使用,那千万不要使用lazy
class DataImporter { var fileName = "data.txt" } class DataManager { lazy var importer = DataImporter() var data = "" } let manager = DataManager() manager.data += "Some data" print(manager.importer.fileName)
3
标签:
原文地址:http://my.oschina.net/u/2346786/blog/523244