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 App開發(fā)中的UIStackView堆疊視圖使用教程
UIStackView是iOS9以來新增加的組件,使我們能夠?qū)IView子類對象進(jìn)行靈活排版,這里我們就來看一下iOS App開發(fā)中的UIStackView堆疊視圖使用教程2016-07-07IOS 中NSUserDefaults讀取和寫入自定義對象的實現(xiàn)方法
這篇文章主要介紹了IOS 中NSUserDefaults讀取和寫入自定義對象的實現(xiàn)方法的相關(guān)資料,希望通過本文大家能夠理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09