[英]Alloc init retain?
誰能解釋為什么這行代碼的保留計數:
[[[SomeClass alloc] init] retain]
是兩個嗎 我只叫保留一次。
因為alloc給保留計數加1。 您應該閱讀Apple的《 內存管理編程指南》 。
保留計數為2,因為[alloc]
也增加了保留計數。 嚴格來說,對象的保留計數不僅是您調用過的保留次數,還包括保留了多少東西。
如果創建對象,則使用名稱以alloc, new, copy or mutableCopy
開頭的方法,或者retain
對象,則其保留計數增加1
如果release
或autorelease
對象,則其保留計數減少1
在示例代碼中, alloc
和retain
將保留計數增加1。
有關更多詳細信息,請參閱Apple的文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.