- OC中只要对象为nil 就会重新创建对象.
- Swift中为nil也算创建对象成功了, 因为Swift懒加载包含了可选值
/* 对比OC 了解懒加载
- 相同点: 都是全局变量
- 不同点:
- 在OC 中, 是重写get方法
- 特点: 在我们需要的时候实例化, 会把当前这个对象保存起来, 当再次需要使用的时候, 直接拿出来使用.
- 在Swift 中, 使用 lazy 来修饰懒加载
- 目的: 延迟创建, 当需要的时候再去创建
*/
import UIKit
class ViewController: UIViewController {
// 懒加载的写法 01 -- 只想把对象实例化成功, 不关心其属性的赋值
// 格式: lazy var 名字: 类型 = 类型()
lazy var lab1: UILabel = UILabel()
// 懒加载的写法 02 -- 不仅要把对象实例化成功, 并且其属性需要有我想要的初始值
// 格式: lazy var 名字: 类型 = {实例化一个对象, 并且返回}()
lazy var lab2: UILabel = {
let label: UILabel = UILabel()
label.text = "label"
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
网友评论