Swift 開發(fā)之懶加載的實例詳解
更新時間:2017年09月18日 10:03:32 作者:水桶前輩
這篇文章主要介紹了Swift 開發(fā)之懶加載的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,實現(xiàn)這樣的功能,需要的朋友可以參考下
Swift 開發(fā)之懶加載的實例詳解
/// 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,按理說“--------------”應(yīng)該只打印一次。
/*
用到時再加載
多次使用只加載一次
*/
lazy var names :[String] = {
let names = ["why", "lmj", "swd"]
print("------") 按理說應(yīng)該只打印一次
return names
}()
//方式一:僅僅創(chuàng)建button
lazy var btn1:UIButton = UIButton()
//方式二:可以設(shè)置更多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)")
}
看看控制臺的打印結(jié)果:
------ ----3 ----3 ----3 ----3
從以上結(jié)果可以看出“--------------”確實只打印了一次。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
IOS 使用NSAssert()和NSParameterAssert調(diào)試程序
這篇文章主要介紹了IOS 使用NSAssert()和NSParameterAssert調(diào)試程序的相關(guān)資料,需要的朋友可以參考下2017-06-06
iOS中UITableView Cell實現(xiàn)自定義單選功能
本篇文章主要介紹了iOS中UITableView Cell實現(xiàn)自定義單選功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02

