swift学习09(懒加载)

swift中是通过专门的关键字(lazy)来实现懒加载;

  • 一、直接懒加载赋值
class student: NSObject {
    lazy var str: String = "需要时再调用";
}
 let s:student = student()
 print(s.str)
        
  • 二、懒加载赋一个函数
class student: NSObject {
    lazy var str: String = student.test();
    static  func test() -> String {
        return "需要时再调用"
    }
}
 let s:student = student()
 print(s.str)
  • 三、懒加载赋一个闭包
class student: NSObject {
    lazy var str: String = {
    return "需要时再调用"
    }()
}

1、lazy关键字修饰一个变量就可以实现懒加载
2、懒加载的本质是,在第一次使用的时候使用调用,只会赋值一次
3、swift开发中因为方式三书写比较简单,因此经常使用闭包的形式进行懒加载

//懒加载数组
class student: NSObject {
    lazy var arr:[String] = {
     () -> [String] in
        
      return ["1","2","3"]
    }()
}

//懒加载一个控件
class student: NSObject {
    lazy var btn:UIButton = {
       let btn = UIButton()
        btn.backgroundColor=UIColor.red
        btn.frame=CGRect(x: 100, y: 100, width: 100, height: 40)
        return btn
    }()
}

你可能感兴趣的:(swift学习09(懒加载))