我想弄清楚在哪些情況下,我需要在涉及屬性時關心內存管理。我從一個我不記得的地方寫下了一些東西,他們說如果一個屬性除NSNumber或NSValue之外還有其他值,並且沒有setter,那麼UIKit會自動釋放舊值並保留新值。雖然我沒有得到它,爲什麼UIKit會設置任何東西,如果沒有setter(直接到值,我猜)。如果我的屬性沒有setter(只讀),如果UIKit不是NSNumber或NSValue,那麼它是否保留該值?
2
A
回答
0
如果屬性聲明爲:
@property(retain) NSString *prop;
當你將一個新的它會釋放舊的價值。
但是,請確保你釋放你的dealloc方法,以及:
- (void)dealloc {
[prop release];
[super dealloc];
}
0
你應該(重新)讀取Memory Management Guide for Cocoa。屬性的內存管理規則與所有其他對象相同。
相關問題
- 1. 如果您有IBOutlet,但不是屬性,是否保留?
- 2. javafx中是否有SimpleLOngProperty,如果沒有,那該怎麼辦?
- 3. 如果沒有賦值,那麼如何給變量賦值,但如果賦值,保留該值?
- 4. 如果它不是bug,那麼爲什麼沒有輸出
- 5. 插入導航屬性,如果它不存在,或者只是使用它,如果沒有鑰匙
- 6. AutoMapper:保留目標值,如果該屬性不存在於源
- 7. 如果手動執行setter,是否需要(保留)?
- 8. 在Ruby中是「名稱」保留的屬性,如果是的話,我該如何使用:名稱屬性?
- 9. 對象不能設置 - 無論是隻讀屬性或沒有setter發現
- 10. 確保如果它是互斥或不
- 11. php mysqli:如果data_seek()是setter,那麼getter是...?
- 12. @property(只讀,保留)是否有意義?
- 13. XML/C#:閱讀內容,如果只有屬性是正確的
- 14. 服務層是否是外層?如果不是那麼它是在哪一層?
- 15. 如何使用泛型getter和setter設置只讀屬性的值?如果
- 16. 是否有在科羅納sdk的觸摸和保持事件,如果不是那麼該怎麼做
- 17. 如果你的數據庫層只有JDBC,那麼使用Spring是否值得?
- 18. Python - 我應該使用只讀的@property沒有init或setter?
- 19. 什麼是T-SQL語法如果這或那麼那還有什麼不做?
- 20. NSNotification對象是否保留其「對象」和「用戶信息」屬性,如果是,那麼這些保留的壽命是多少?
- 21. 如果元素保留了X的值,那麼停止功能
- 22. 如果我只輸入零,那麼文本框是空的
- 23. 是否可以通過nightwatch.js設置元素的Style屬性的值?如果是,那麼如何?
- 24. 如果JPA真的只是一個規範,那我們該怎麼辦?
- 25. cppunit測試框架是否有不同的版本?如果是,那麼它的最新版本是什麼?
- 26. 如果「它是日期」,那麼「按照我說的去做」 -
- 27. NSView是否有backgroundColor?如果是這樣,我找不到它
- 28. 錯誤:對象不能設置 - 或只讀屬性或沒有setter發現
- 29. 該行是否存在?如果是這樣更新它,如果沒有添加它mysql/java
- 30. 如果我在每一行中總是有不同的值,那麼索引mysql列是否有好處?