swift和oc区别----属性部分(参考官方swift2.1文档)
对于实用过OC的人来说实用swift上手时非常容易的,swift包括了oc的大部分功能,但是swift毕竟是一门新的编程语言,它和OC还是 有很多不同的地方,而且提供了不少新功能,所以本人在读swift文档的时候,把两者之间一些不同的地方或者swift提供的新功能总结在这里,以方便以 后查阅,也供和广大道友交流。
Properties 属性---延迟加载属性
延迟加载属性第一次被调用时才会计算它的属性值。延迟加载属性必须实用 var 关键字来声明。在var关键字前面实用 lazy 来定义一个延迟加载属性。
class DataImporter { //DataImporter是一个能导入外部文件数据的类 var fileName = "data.txt"//主要是这句代码执行导入操作,耗时较长 } //DataManager是一个能提供数据管理功能的类 class DataManager { //设置importer为延迟加载属性,在第一次实用它的时候在计算赋值。 lazy var importer = DataImporter() var data = [String]() } let manager = DataManager() manager.data.append("Some data") manager.data.append("Some more data") //此时再加载importer属性的值 print(manager.importer.fileName)