数组中的copy / mutablecopy

时间:2012-06-11 12:00:29

标签: iphone

我是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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

NSMutableArray *temp = [[[NSMutableArray alloc]initWithArray:appdelegate.LongeListArray]autorelease];

答案 3 :(得分:0)

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