+array
方法并不是生成持有的對象
而是 通過生成并持有對象后加入autoreleasePool(自動釋放池)中,待pool結束時译株,調用release方法釋放對象
以下是對 “內存管理的思考方式”
一、能真正“自己生成并持有”對象的方法有四個
+alloc
-new
copy
mutableCopy
二、非自己生成的對像逞怨,自己也能持有
用工廠方法直接生成的對像黔州,我們只是生成了對像耍鬓,但是并沒有對其持有,所以需要調用retain進行持有
如果不調用而直接調用release的話會引起程序崩潰流妻,所以在另一種情況中牲蜀,我們用+array創(chuàng)建的array在實際并沒有對其持有,當在autoreleasePool結束后绅这,我們在使用array對其發(fā)消息時就會同樣引起崩潰涣达。
三、不再需要自己持有的對象時 釋放
四、無法釋放非自己持有的對象(崩潰)
對于release的解釋
當引用計數大于0時
返回yes峭判,并且self執(zhí)行dealloc方法廢棄對象开缎。