0

我是 iPhone SKD 的新手。我想知道,如果我将所有对象从一个数组复制(我的意思是可变复制/复制)到另一个数组。这是我的代码:

NSSortDescriptor* DateSorter = [[NSSortDescriptor alloc] initWithKey:@"lounge_rating" ascending:NO];
NSMutableArray *temp = [appdelegate.LongeListArray mutableCopy];
[temp sortUsingDescriptors:[NSArray arrayWithObject:DateSorter]];
appdelegate.LongeListArray = temp;
[table reloadData];
[DateSorter release];

我想知道我应该释放临时数组吗?请帮助我。谢谢...

4

4 回答 4

2

您应该释放您复制或创建的任何对象(“alloc”),所以是的,您应该释放它。

于 2012-06-11T12:03:35.980 回答
0

当您调用 时NSMutableArray *temp = [appdelegate.LongeListArray mutableCopy];,这意味着您正在创建现有对象的副本,因此其保留计数将为 1。因此您有责任释放此对象。

于 2012-06-11T12:07:04.377 回答
0

是的,Nuzhat 是对的,但如果你自动释放它而不是释放它会更好,否则它可能会产生内存泄漏。

NSMutableArray *temp = [[[NSMutableArray alloc]initWithArray:appdelegate.LongeListArray]autorelease];
于 2012-06-11T12:10:48.767 回答
0

您需要释放您分配的任何对象。

于 2012-06-11T12:28:49.680 回答