我想弄清楚在哪些情況下,我需要在涉及屬性時關心內存管理。我從一個我不記得的地方寫下了一些東西,他們說如果一個屬性除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. AutoMapper:保留目標值,如果該屬性不存在於源
- 3. 在Ruby中是「名稱」保留的屬性,如果是的話,我該如何使用:名稱屬性?
- 4. 確保如果它是互斥或不
- 5. @property(只讀,保留)是否有意義?
- 6. XML/C#:閱讀內容,如果只有屬性是正確的
- 7. 如何使用泛型getter和setter設置只讀屬性的值?如果
- 8. 服務層是否是外層?如果不是那麼它是在哪一層?
- 9. 如果你的數據庫層只有JDBC,那麼使用Spring是否值得?
- 10. 是否有在科羅納sdk的觸摸和保持事件,如果不是那麼該怎麼做
- 11. 什麼是T-SQL語法如果這或那麼那還有什麼不做?
- 12. NSNotification對象是否保留其「對象」和「用戶信息」屬性,如果是,那麼這些保留的壽命是多少?
- 13. 如果我只輸入零,那麼文本框是空的
- 14. cppunit測試框架是否有不同的版本?如果是,那麼它的最新版本是什麼?
- 15. 錯誤:對象不能設置 - 或只讀屬性或沒有setter發現
- 16. 該行是否存在?如果是這樣更新它,如果沒有添加它mysql/java
- 17. 如果沒有命名的範圍,那麼該怎麼做?
- 18. 如果我的python類名有縮寫,我應該保持大寫,還是隻保留第一個字母?
- 19. {name}是否被替換,如果它們在屬性中,該如何處理?
- 20. 如果您不需要使其失效,那麼是否有任何理由保留預定的NSTimer?
- 21. CSS:如果我將它指定爲「繼承」,但是沒有父元素定義它,那屬性的值是什麼?
- 22. C# - SQL查詢如果WHERE子句有那麼工作,如果不是有沒有結果
- 23. 如果沒有提供默認值,那麼字段的默認值是多少?
- 24. 如果SQL查詢返回沒有數據,那麼遊標的值是什麼?
- 25. Android是否保留.apk文件?如果是這樣的話?
- 26. 它是否是斐波那契數列遞歸?如果不知道如何
- 27. 這是什麼LINQ的方法語法,它是一個連接,如果不是,那麼它是什麼?
- 28. 如果Python的obj .__ dict__是一個屬性,那麼它是懶惰的評估還是Python繁忙組成?
- 29. 如果我只在一個方法的範圍內使用它,我是否需要保留一個對象?
- 30. 如果xhtml無法驗證,那麼機器可讀性是否是一個有效的點?