Swift3.0--懒加载
来源:互联网 发布:搜集房源信息的软件 编辑:程序博客网 时间:2024/06/03 11:17
//// ViewController.swiftimport UIKitclass ViewController: UIViewController { //初始化并且分配空间,会提前创建 //移动开发,延迟加载,减少内存消耗,就是懒加载 //懒加载 - lazy /** 1.能够延迟创建 2.能够解除解包的烦恼(最大的好处) */ //懒加载简单写法 lazy var label : DemoLabel = DemoLabel(); //懒加载完整写法,实际是一个闭包,日常开发不建议这么写 /** 1. {} 包装代码 2. () 执行代码 日常开发: 1.闭包中智能提示不灵敏 2.出现self.还需要注意循环引用 */// lazy var label = { () -> DemoLabel in// var l = DemoLabel();// // //设置label的属性....// // return l;// }() override func viewDidLoad() { super.viewDidLoad() setupLabel(); } private func setupLabel() { //插入视图中 //解包 - 为了参与计算,addSubview 用 subviews 数组记录控件,数组中不允许插入nil self.view.addSubview(label); label.text = "hello"; label.sizeToFit(); label.center = view.center; } }
//// DemoLabel.swiftimport UIKitclass DemoLabel: UILabel { //重写构造函数 //xib 不会调用 override init(frame: CGRect) { super.init(frame: frame); setupUI(); } //initWithCoder -> 使用xib / sb //提示:所有UIview及其子类,一旦重写构造函数 //必须实现 initWithCoder 方法,以保证提供两个通道 required init?(coder aDecoder: NSCoder) { //禁止在xib/sb中使用本类 fatalError("init(coder:) has not been implemented") } private func setupUI() { print("hello"); } }
相关文章:Swift3.0 -- 懒加载和OC的区别
0 0
- Swift3.0--懒加载
- Swift3.0加载网络图片
- Swift3.0 -- 懒加载和OC的区别
- 五、swift3.0闭包和懒加载
- Swift3.0--运行时加载属性列表
- swift3.0 使用第三方加载cell的网络图片
- Swift3.0
- swift3.0
- Swift3.0
- iOS开发学习笔记之swift3.0几种加载网络图片的方法
- swift3.0的改变
- Swift3.0学习
- Swift3.0 初识
- swift3.0 GCD
- swift3.0 gcd 变化
- swift3.0变化
- Swift3.0 - 集合 - Set
- swift3.0更新
- android学习之对于JNI的理解(以例子形式)
- 二叉树:由已知两种遍历求未知遍历
- DOM初体验——两个关于获取的小问题
- 商人小鑫
- HBase基本命令
- Swift3.0--懒加载
- 用51单片机+11.0592的晶振,如何产生115200的波特率
- deque与vector内存分配比较示例
- oracle 两个时间相减
- uva 12108 特别困的学生
- Nginx 收集
- Android增量更新——bsdiff&bspatch
- Linux 常用指令
- 69.Protobuf进阶——使用Python操作Protobuf