iOS之深入解析weak关键字的底层原理
生活随笔
收集整理的這篇文章主要介紹了
iOS之深入解析weak关键字的底层原理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、weak 關鍵字
- 在 iOS 開發(fā)過程中,會經(jīng)常使用到一個修飾詞 weak,使用場景大家都比較清晰,避免出現(xiàn)對象之間的強強引用而造成對象不能被正常釋放最終導致內存泄露的問題。
- weak 關鍵字的作用是弱引用,所引用對象的計數(shù)器不會加 1,并在引用對象被釋放的時候自動被設置為 nil。
- weak 的常見場景是在 delegate,block,NSTimer 中使用,以避免循環(huán)引用所帶來的內存泄漏。
- weak 的用處用一句話可歸納為:弱引用,在對象釋放后置為 nil,避免錯誤的內存訪問。用更通俗的話來表述是:weak 可以在不增加對象的引用計數(shù)的同時,又使得指針的訪問是安全的。
二、weak 的底層分析
① weak 底層入口
- 當我們使用 weak 修飾屬性的時候,它是怎么實現(xiàn)當所引用的對象被廢棄的時候,變量置為 nil 的呢?在日常開發(fā)中,常見的 weak 的使用如下:
總結
以上是生活随笔為你收集整理的iOS之深入解析weak关键字的底层原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之深入解析KVO的底层原理
- 下一篇: iOS之性能优化·优化App界面的渲染与