Swift 开发之懒加载的实例详解
2017-09-18 10:03
671 查看
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 开发之Swift 元组的实例详解
- IOS 开发之swift中手势的实例详解
- IOS Swift 开发QRCore(二维码)实例详解
- Android NDK开发 Java与C互相调用实例详解
- 详解EBS接口开发之供应商导入补充-供应商地点增加实例
- php类的自动加载操作实例详解
- 实例详解快捷搭建Android手机开发平台
- SpringBoot 入门教程实例详解(一) 开发第一个SpringBoot应用程序实例
- 高德地图之实例开发(一)加载地图
- Android开发实现模仿360二维码扫描功能实例详解
- android widget 开发实例 : 桌面便签程序的实现详解和源码
- Java---JUnita、注解与类加载器详解以及实例
- iOS开发之Swift基本语法详解
- Android开发之splash界面下详解及实例
- iOS开发——加载、滑动翻阅大量图片解决方案详解
- 转:S3C2440上LCD驱动(FrameBuffer)实例开发详解
- Android开发之SwipeRefreshLayout详解和自定义加载更多
- Android开发之浏览器用法实例详解(调用uc,opera,qq浏览器访问网页)
- Android开发之TabActivity用法实例详解
- Android6.0指纹识别开发实例详解