私はCのバックグラウンドから来ています。Objective-CはCから派生したものです。私はメモリ管理の概念が似ていると想定していました。潜在的なメモリリークについての警告が表示されていますが、奇妙なのは私がalloc
の後にオブジェクトを解放しているということです。この例を見てみましょう:iPhoneアプリのメモリリーク
self.cardCellArray = [[NSMutableArray alloc] initWithCapacity:kTotalNumberOfCards];
とのdeallocで:
- (void) dealloc
{
[super dealloc];
[self.cardCellArray removeAllObjects];
}
私は取得していますメモリリークのメッセージは次のとおりです。
Method returns an Objective-C object with a +1 retain count
と
Object leaked: allocated object is not referenced later in this execution path and has a retain count of +1
私がここで間違っていることを誰かが見つけ出すことができますか?
removeallobjectsを
cardCellArray
を解放するために覚えていますか?私はちょうど例としてこれを使用していた、私は他の人の1つを投稿させて少しばかげている多くの他の人がいます – godzilla@ godzilla私の答えは – JustSid
ああ、私は(nonatomic、保持)NSMutableArray * uncontrolledCards @ self.cardCellArray =私は実際に参照を渡さないでコピーしていますか? – godzilla