swift中定义属性时的一个小问题

在OC中我们平时定义属性时都是通过重写getter方法在其中实例化对象。但在swift中也有了懒加载的关键字,如下,平时我们通过懒加载实例化对象的方式:

    lazy var iconImageView: UIImageView = {
        let imageView = UIImageView()
        imageView.image = UIImage(named: "icon_loading")
        return imageView
    }()

但以下面的方式去实例化对象呢,这个时候你每次去获取该对象拿到的就不是同一个对象了。


    
    var iconImageView: UIImageView {
        let imageView = UIImageView()
        imageView.image = UIImage(named: "icon_loading")
        return imageView
    }

可以看看控制台po出来的信息:


企业微信截图_8599ad62-40ff-4f32-95f2-5ffa671873d5.png

我也是因为不小心没写成懒加载的方式,找了半天的问题所在,原因在此,所以以后各位写代码还是要仔细哟!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,165评论 1 32
  • 面试题参考1 : 面试题[http://www.cocoachina.com/ios/20150803/12872...
    江河_ios阅读 1,769评论 0 4
  • 1.设计模式是什么? 你知道哪些设计模式,并简要叙述?设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型...
    龍飝阅读 2,239评论 0 12
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 1,463评论 1 27
  • 一、今日完成目标: 今天没更新,看到大家都投卢松松了,他们也是洗的稿吗?好厉害,我还没抓住这些项目的 共性,洗稿也...
    姥姥在阅读 119评论 0 0