在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出来的信息:
我也是因为不小心没写成懒加载的方式,找了半天的问题所在,原因在此,所以以后各位写代码还是要仔细哟!