Class A
正在將NSArray
傳遞給classB
中的一個函數,該函數依次將它傳遞給classC
,而不是classC使用它一段時間。在3個函數之間傳遞NSArray - 保留還是複製?
我知道如果classB使用autorelease保留NSArray,比classC可以安全地使用它,因爲autorelease對於1次傳遞保持不變。是對的嗎 ?
或者,我應該做這樣的事情:
classB
NSArray *local=[argumentArrayFromA copy]; //should i autorelease it ??
[classC send:local];
classC
NSArray *goal=[argumentArrayFromB copy];
//use "goal" here safely .
ARC是不是一個選項?它簡化了內存管理,並允許您的代碼更專注於需要做什麼,而不是太多關於內存的處理。 – RyanR
這是真的,但代碼現在真的很大,沒有ARC,所以我們現在繼續沒有它。無論如何,我想我的問題的答案很容易。 – Curnelious