私は Objective C を初めて使用し、スタック オーバーフローと Apple の Web サイトの両方で、自動参照カウントに関するドキュメントをいくつか読みましたが、コードがメモリ リークしていると "Leaks" が通知する理由をまだ理解できません。このコードはすべて、 によって開始されるバックグラウンド スレッドで実行されていることに注意してくださいNSOperationQueue
。
たとえば、次のようなものがあります。
NSArray *times = <receives an array of NSStrings>;
NSArray *codes = <receives an array of NSStrings>;
// these two arrays are == in length
NSMutableArray *fingerprint = [NSMutableArray array];
for (int x = 0; x < [times count]; x++) {
long numToAdd = strtol([[codes objectAtIndex:x] cStringUsingEncoding:NSUTF8Encoding], NULL, 16);
[fingerprint addObject:[NSNumber numberWithLong:numToAdd]];
numToAdd = strtol([[times objectAtIndex:x] cStringUsingEncoding:NSUTF8Encoding], NULL, 16);
[fingerprint addObject:[NSNumber numberWithLong:numToAdd]];
}
Leaks は、配列を割り当てる行にリークがあると主張しています。これらのリークが存在する理由はわかりません。どんな助けでも大歓迎です。
さらにコードが必要な場合は、コメントしてください。喜んで提供します。