我习惯于编程,其中我负责释放一切,而这个目标c时髦的东西是在工作中抛出一些扳手。我使用以下代码。
NSArray *b = [a allObjects];
NSArray *c = [b sortedArrayUsingDescriptors:sortDescriptors];
谁负责释放“b”和“c”。对于记录,“a”是NSSet。如果我手动释放它们似乎会使应用程序崩溃,但我不是百分百肯定所以我想我会问。
感谢。
答案 0 :(得分:10)
这两个调用都返回自动释放的对象,因此您是安全的。它们将被释放给你(例如,将来某个时候,在当前运行循环结束时)。
一般规则是,如果您没有显式调用retain
,alloc
或其中一个对象的copy
方法,则可以从您的任何方法中获取自动释放的对象重新打电话。