Class A
正在将NSArray
传递给classB
中的某个函数,该函数又将其传递给classC
,而不是使用它一段时间。
我知道如果classB保留了自动释放的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 .
答案 0 :(得分:0)
如果你传递一个数组而不是在任何地方修改它,你不想复制它 - 这只是浪费内存。坚持保留。