德乌罗费乌,82tt,快递报价
swift 开发之懒加载的实例详解
/// a display link that keeps calling the `updateframe` method on every screen refresh. private lazy var displaylink: cadisplaylink = { self.isdisplaylinkinitialized = true let displaylink = cadisplaylink(target: targetproxy(target: self), selector: #selector(targetproxy.onscreenupdate)) displaylink.add(to: .main, formode: self.runloopmode) displaylink.ispaused = true return displaylink }()
public var priority: float { get { return internaltask.priority } set { internaltask.priority = newvalue } }
一个vc上放了一个按钮,然后点击按钮打印刚刚定义的懒加载对象names,按理说“--------------”应该只打印一次。
/* 用到时再加载 多次使用只加载一次 */ lazy var names :[string] = { let names = ["why", "lmj", "swd"] print("------") 按理说应该只打印一次 return names }() //方式一:仅仅创建button lazy var btn1:uibutton = uibutton() //方式二:可以设置更多btn的属性 lazy var btn :uibutton = { let btn = uibutton() btn.settitle("按钮", for: .normal) btn.setimage(uiimage(named:""), for: .normal) return btn }()
点击按钮打印
//mark: 点击事件 func buttonclick(_ sender:uibutton) { print("----\(names.count)") }
看看控制台的打印结果:
------ ----3 ----3 ----3 ----3
从以上结果可以看出“--------------”确实只打印了一次。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
iOS 使用UITextField自定义搜索框 实现用户输入完之后“实时搜索”功能
网友评论