在Objective-C的ARC模式中,
1 | |
這裡雖然沒有顯示的聲明為__strong,但是Objective-C預設聲明的一個對象就為__strong,即:
1 | |
和
1 | |
是等價的。
在強引用中,有時會出現循環引用的情況,這時就需要弱引用來幫忙(__weak)。
強引用持有對象,弱引用不持有對象。
強引用可以釋放對象,但弱引用不可以,因為弱引用不持有對象,當弱引用指向一個強引用所持有的對象時,當強引用将對象釋放掉後,弱引用會自動的被指派為nil,即弱引用會自動的指向nil。