在3个函数之间传递NSArray - 保留还是复制?

时间:2013-09-21 20:38:18

标签: objective-c

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 .

1 个答案:

答案 0 :(得分:0)

如果你传递一个数组而不是在任何地方修改它,你不想复制它 - 这只是浪费内存。坚持保留。