一、weak 修飾控件
- 如下圖可得:weak修飾的控件澜共,在從父控件中移除之后向叉,如果沒有強(qiáng)引用的話此外,就會執(zhí)行dealloc銷毀嗦董,而且我們也知道weak修飾的會自動清空為null母谎,所以不會存在野指針的問題
- 所謂野指針:就是訪問了一塊壞內(nèi)存,就是指針p指向了一塊已經(jīng)釋放的stu對象的內(nèi)存京革,[p setAge:10]; 因?yàn)閷ο髢?nèi)存已經(jīng)釋放了销睁,向一塊不能訪問不屬于你的內(nèi)存 -> 發(fā)送setAge消息,就是不合法的存崖,就會引發(fā)野指針錯(cuò)誤。
-
而weak睡毒,修飾的變量来惧,在內(nèi)存釋放后會自動置為nil,p變?yōu)榱丝罩羔樠莨耍琜nil setAge:10]; 這樣并不會引發(fā)任何錯(cuò)誤供搀,因?yàn)橄⒏揪桶l(fā)布出去的,不會有任何作用钠至,所以當(dāng)然也不會引發(fā)任何錯(cuò)誤