誰も私にこの方法が私にリークを与えている理由を教えてもらえますか?私は年齢のためにそれを見てきましたが、なぜ漏れているのか理解できません。漏れたオブジェクトはContactOperations
です。 EventTypeはMallocとReleaseです。私はinit
が間違っていると思った?Objective-C Leak
問い合わせコントローラ
ContactOperations *contactOps = [[ContactOperations alloc] initWithDatabase:database];
if ([contactOps applicationIsOwner])
[contactOps startOperations];
[contactOps release];
インスツルメンツは、アロケーションは私にリークを与えていると言う...
接触操作
ContactOperations
- (id)initWithDatabase:(Database*)aDatabase
{
if (self = [super init])
{
database = [aDatabase retain];
parameter = [[Parameter alloc] init];
parameter.database = aDatabase;
//addressBook = ABAddressBookCreate();
}
return(self);
}
-(void)dealloc
{
[database release];
[parameter release];
//CFRelease(addressBook);
}
Xcodeの内部から静的解析を試みましたか? – trojanfoe
' - [ContactOperations startOperations]'のどこかに 'contactOps'がありますか?それ以外に、あなたが投稿したコードには漏れはありません。 – Costique
ばかげた質問:リリース後に 'contactOps'を' nil'に設定しても警告は出ますか?そうでない場合は、技術的には、あなたのコードから依然として到達可能な過剰解放されたインスタンスがあります。 – Monolo