繁体   English   中英

Objective-C泄漏

[英]Objective-C Leak

谁能告诉我为什么这是给我泄漏的方法? 我已经看了很久了,无法弄清楚它为什么泄漏。 泄漏的对象是ContactOperations EventType是Malloc和Release。 我以为init可能是错误的?

接触控制器

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);
}
-(void)dealloc
{
    [database release];   
    [parameter release];
    //CFRelease(addressBook);
}

您忘记了[super dealloc]; - (void) dealloc的末尾。 您必须调用[super dealloc]才能清除ContactOperations的超类的实例变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM