您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Swift開發之懶加載的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Swift 開發之懶加載的實例詳解
/// 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,按理說“--------------”應該只打印一次。
/* 用到時再加載 多次使用只加載一次 */ lazy var names :[String] = { let names = ["why", "lmj", "swd"] print("------") 按理說應該只打印一次 return names }() //方式一:僅僅創建button lazy var btn1:UIButton = UIButton() //方式二:可以設置更多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)") }
看看控制臺的打印結果:
------ ----3 ----3 ----3 ----3
從以上結果可以看出“--------------”確實只打印了一次。
關于“Swift開發之懶加載的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。