通過將字符串分配給類B中的字符串屬性(類型爲retain),我在兩個類之間傳遞了幾個對象,稱爲從A到B的字符串。我需要在dealloc方法中的B類中釋放這個字符串屬性嗎?在Obj中的對象之間傳遞對象C
回答
正如您在談論dealloc
,我將您的問題視爲非ARC。
將字符串賦值給類B中的字符串屬性,其類型爲 類型爲retain。我是否必須在B類中釋放此字符串屬性
否。
只有在確實保留,複製,分配時才需要釋放。
此外,NSString應分配不保留。
保留或分配屬性取決於他的任務。 – zakhej 2013-02-21 08:58:11
如果我在後面的代碼中根本不使用該屬性,則取決於運行時條件,以便該屬性將爲零直到結束......如果在釋放dealloc中的某些內容之前應檢查屬性是否爲零? – 2013-02-21 09:13:20
,因爲你正在分配,所以需要擔心泄漏。 – 2013-02-21 09:15:43
是的,你需要釋放保留的對象。在dealloc方法:
- (void)dealloc
{
if (_yourString)
{
[_yourString release];
}
...
[super dealloc];
}
如果屬性類型爲保留,比將增加1保留計數,並釋放你需要減少其保留計數爲0 所以,如果你不會釋放對象它會導致內存泄漏。 感染這是保留財產的目的,它賦予該類實施財產的所有權。
當我們不確定源是否保留對象時,我們使用retain屬性。 – 2013-02-21 08:57:07
- 1. 在對象之間傳遞對象
- 2. C++在類之間傳遞對象
- 3. C#在表單之間傳遞對象
- 4. C++在類之間傳遞對象
- 5. 形式c之間傳遞對象#
- 6. 如何在類之間傳遞對象
- 7. 在活動之間傳遞2D對象
- 8. 在頁面之間傳遞對象
- 9. 在類之間傳遞ManualResetEvent對象
- 10. 在類之間傳遞對象
- 11. 在片段之間傳遞對象
- 12. 在對象之間傳遞值rails
- 13. 在層之間傳遞實體對象?
- 14. 在視圖之間傳遞對象
- 15. VBA - 在函數之間傳遞對象
- 16. 在活動之間傳遞對象
- 17. 在活動之間傳遞parcelable對象
- 18. 在託管對象上下文之間傳遞對象
- 19. iPhone:在NSManagedObjectContext對象之間傳遞對象?
- 20. 在c中的對象之間傳遞數據#
- 21. 在C中的對象之間傳遞事件處理程序#
- 22. 傳遞對象之間的數據
- 23. 類之間的Python傳遞對象
- 24. 在C中形式之間傳遞一個對象#
- 25. Angluarjs控制器之間傳遞對象
- 26. iphone:功能之間傳遞對象
- 27. 對象傳遞對象WEBSERVICES
- 28. 原子指針C++和在線程之間傳遞對象
- 29. 如何在go包之間傳遞C對象?
- 30. 進程間對象傳遞
你使用ARC嗎? – 2013-02-21 08:44:15
是的,你必須在非ARC。你應該考慮使用複製而不是保留字符串,在這種情況下你仍然必須釋放它。 – 2013-02-21 08:44:29