使用NSArray * sort *方法后,我负责释放返回的数组

时间:2010-02-11 00:29:26

标签: iphone objective-c sorting nsarray

我习惯于编程,其中我负责释放一切,而这个目标c时髦的东西是在工作中抛出一些扳手。我使用以下代码。

NSArray *b = [a allObjects];
NSArray *c = [b sortedArrayUsingDescriptors:sortDescriptors];

谁负责释放“b”和“c”。对于记录,“a”是NSSet。如果我手动释放它们似乎会使应用程序崩溃,但我不是百分百肯定所以我想我会问。

感谢。

1 个答案:

答案 0 :(得分:10)

这两个调用都返回自动释放的对象,因此您是安全的。它们将被释放给你(例如,将来某个时候,在当前运行循环结束时)。

一般规则是,如果您没有显式调用retainalloc或其中一个对象的copy方法,则可以从您的任何方法中获取自动释放的对象重新打电话。

以下是memory management documentation的链接。