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

割り当てたオブジェクトを解放する必要があります。

于 2012-06-11T12:28:49.680 に答える
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 に答える