1

私は 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 は、配列を割り当てる行にリークがあると主張しています。これらのリークが存在する理由はわかりません。どんな助けでも大歓迎です。

さらにコードが必要な場合は、コメントしてください。喜んで提供します。

4

0 に答える 0