Swift

swift最新语法总结(懒加载)

2019-03-25  本文已影响0人  coder_xiang

附上我的swfit项目, 项目里面有整个swift应用使用框架, 网络请求框架, DSBridge原生与H5交互的用法, 反射知识的使用, WCDB数据库的封装使用, WebRTC音视频直播demo, socket的使用, socket协议的封装使用等等知识点. 希望对大家有用.-->swfit完整项目2020持续更新完善

懒加载的介绍

lazy var 变量: 类型 = { 创建变量代码 }()

懒加载的使用

    // 懒加载的本质是,在第一次使用的时候执行闭包,将闭包的返回值赋值给属性
    // lazy的作用是只会赋值一次
    lazy var array : [String] = {
        () -> [String] in
        return ["why", "lmj", "lnj"]
    }()

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
    }()
}
上一篇下一篇

猜你喜欢

热点阅读