非常に非特異的なタイトルのために申し訳ありませんが、私はリークだけで私のプログラムをデバッグしていると私は、次のコードの数行に漏れが見つかりました:私は数バイトのリークがあります - なぜですか?
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; // LEAKS shows 80%
[dateFormat setDateFormat:@"EEE-dd-MMMM-yyyy"];
NSDate *today = [[NSDate alloc] init]; // LEAKS shows 20%
NSString *theDate = [dateFormat stringFromDate:today];
[noteBookContent replaceObjectAtIndex:(currentPageCounter*3)+1 withObject:theDate];
[dateFormat release];
[today release];
漏れは1行が80%の漏れであることを私に伝え、残りの20%。しかし、なぜ?私は両方を解放しています...
それはわずか16バイトなので、私は心配する必要はないと思います...または私はこのようなものについて心配すべきですか?とにかく、なぜ私のコードが漏れているのか分からないので、どんな助けでも大歓迎です。ありがとう!
また、私たちはLEAKSについて話していますが、「Malloc 32 Bytes Foundation - [NSCFString appendString:]」のような私のプログラムにもいくつかのLeakedブロックがあります... LEAKSは私に与えませんこれが漏れているはずの私のコードへの参照。この記憶がどこから漏れているのか、私はどうやって調べるのですか?
申し訳ありませんこれはすべて基本的なものですが、おそらく収集できるように、私がLEAKSを使用しているのは初めてです。
ありがとうございます!
私はtheDateを割り当てなかったので、これは解決策ではないと思います。私がそれをリリースすると、アプリケーションがクラッシュします。 –
あなたは正しいです。オブジェクトのメモリを解放する必要があるのは、NEW、ALLOC、RETAIN、COPYのいずれかのキーワードを使用して初期化するときだけです。「NARC」を覚えておいてください。 – markrickert