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)

 

posted @ 2016-01-03 00:01  Y好大的棉花糖  阅读(108)  评论(0编辑  收藏  举报