Objective-C Утечка - PullRequest
       14

Objective-C Утечка

0 голосов
/ 21 февраля 2012

Может кто-нибудь сказать мне, почему этот метод дает мне утечки?Я смотрю на это целую вечность и не могу понять, почему это протекает.Утечка объекта ContactOperations.EventType - это Malloc и Release.Я думал, что init может быть неправильным?

Контроллер контактов

ContactOperations *contactOps = [[ContactOperations alloc] initWithDatabase:database];
if ([contactOps applicationIsOwner])
    [contactOps startOperations];    
[contactOps release];

Приборы говорят, что alloc дает мне утечку ...

Операции с контактами

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);
}

1 Ответ

5 голосов
/ 21 февраля 2012
-(void)dealloc
{
    [database release];   
    [parameter release];
    //CFRelease(addressBook);
}

Вы забыли [super dealloc]; в конце - (void) dealloc.Вы должны вызвать [super dealloc], чтобы очистить переменные экземпляра суперкласса ContactOperations.

...