[英]Why do I have to clean up memory if I have an IBOutlet with “retain”, but not when I have one with “assign”?
例:
@property (..., assign)
在那里,我沒有在dealloc方法中進行任何清理。 但是當我有一個
@property (..., retain)
那么我會這樣做。
我在互聯網上的某個地方有那個。 不記得該網站了。 好吧,我知道編譯器指令中的retain-keyword會使retain count +1,但實際上我認為我錯過了assign和retain的深層區別。
Assign將僅復制指針,而不向對象發送retain
消息。 因此,由於您沒有保留它,因此不必釋放它。
如您所說,在保留的情況下,它將向對象發送retain
消息,從而增加其保留計數,因此您有責任在對象(在dealloc
)發送該對象的release
消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.