2012-06-11 4 views
0

Я новичок в iPhone SKD. Я хочу знать, что если я копирую (я имею в виду изменяемую копию/копию) все объекты из одного массива в другой. Вот мой код:copy/mutablecopy в массиве

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]; 

я хочу знать, что я должен освободить массив температуры или нет, пожалуйста, помогите me.thanking вас ...

ответ

0

Да Нужат правы, но будет лучше, если вы попробуете автореализовать его, а затем отпустите другое, это может вызвать утечку памяти.

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

Привет @Dipen Chudasama, я не понял, почему это приведет к утечке памяти, если мы выпустим его? –

+0

, пожалуйста, попробуйте и посмотрите. –

2

Вы должны освободить любой объект, который был скопирован или создан (? «alloc»), так что да, вы должны его отпустить.

0

Когда вы вызываете NSMutableArray *temp = [appdelegate.LongeListArray mutableCopy];, это означает, что вы создаете копию своего существующего объекта, поэтому его счет будет равен 1. и его ответственность за освобождение этого объекта.

0

Вам необходимо освободить любой объект, который вы выделили.

Смежные вопросы