Ошибка UIButton EXC_BAD_ACCESS

У меня есть кнопка пользовательского интерфейса, и она работает правильно, когда я нажимаю. Но если я нажму кнопку три раза, я получаю ошибку EXc_BAD_ACCESS. Я думал, что где-то что-то выпускаю, но не нашел решения. Не могли бы вы мне помочь? С уважением.

Это функция, когда я нажал кнопку. И в Dealloc я их освобождаю. Когда я отслеживаю, это не дает ошибки в функции. Я получил это после функции, но я не знаю, куда идет код после этой функции.

- (IBAction) doSomething: (id)sender
{
    [self.answerDict replaceObjectAtIndex:currentPageNumber withObject:@"1"];
    [self.b setImage:nil forState:UIControlStateNormal];
    [self.c setImage:nil forState:UIControlStateNormal];
    [self.d setImage:nil forState:UIControlStateNormal];
    [self.e setImage:nil forState:UIControlStateNormal];        

    UIImage *img = [UIImage imageNamed:@"a.jpg"];
    [self.a setImage:img forState:UIControlStateNormal];
    [img release];
}

person Can    schedule 19.04.2011    source источник
comment
Можете ли вы включить NSZombieEnabled для своего исполняемого файла и посмотреть, что тогда показывает консоль?   -  person Nick Weaver    schedule 19.04.2011


Ответы (2)


UIImage *img = [UIImage imageNamed:@"a.jpg"];
[self.a setImage:img forState:UIControlStateNormal];
[img release];

[img release]; это проблема. Вы выпускаете объект, который вам не принадлежит. img в этом случае освобождается автоматически.

Удалите [img release]; и посмотрите, произойдет ли сбой

person visakh7    schedule 19.04.2011

Я предлагаю вам прокомментировать код построчно, и таким образом вы поймете, в чем смысл ошибки BAD_ACCESS. Сначала закройте весь код в doSomething: может быть, основная причина в вашей кнопке...

person Viktor Apoyan    schedule 19.04.2011