swift和oc区别----属性部分(参考官方swift2.1文档)

时间:2023-03-08 20:40:00

对于实用过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)