0

バックグラウンドスレッドで実行される簡単なメソッドがあり、txtファイルを開いて行に分割しています。その後、メモリを解放しようとしていますが、何かがうまくいきません。ARCを使用しています。コードは次のとおりです。

@autoreleasepool {
   NSString* file = [NSString stringWithContentsOfFile:resourcePath encoding:NSWindowsCP1251StringEncoding error:&error];
   NSArray* test = [file componentsSeparatedByString:@"\n"];
   test = nil;
 }

文字列は正常にリリースされましたが、配列はまだメモリ内にあります。私が逃したものは何ですか?

UPD:うーん...配列を数回複製しようとしたところ、メソッド配列の終了後に実際に割り当てが解除されました。しかし、この配列を作成するとメモリ リークが発生します。それはどこでしょうか?

4

1 に答える 1

0
   // test = nil;

それを無視すると、ARC は正常に動作します。

于 2012-10-14T12:46:25.843 に答える