Сбой приложения для iPhone - выход NSZombie - PullRequest
0 голосов
/ 15 июля 2011

Мое приложение падает, когда я использую popViewController. При использовании NSZombie я получаю следующее:

2011-07-15 13:20:03.334 Question[27412:207] *** -[CFString release]: message sent to deallocated instance 0x4c8a090

Я не совсем уверен, как это интерпретировать или как найти экземпляр, на который ссылается ...

Приложение вылетает, когда я добавляю следующую строку:

-(void) finishQuestionnaire:(id)sender{
    //go back to main manual
    [self.navigationController popViewControllerAnimated:YES];
}

Я не думаю, что это проблема, я думаю, что проблема с загрузкой ...

Ответы [ 5 ]

1 голос
/ 15 июля 2011

У меня была похожая проблема, и я потратил целый день, чтобы решить эту ошибку ... в моем случае была строка типа
str = [[NSString alloc] initWithString:@"a string"];

тогда я изменил как

str = [NSString stringWithFormat:@"%@",aVarible];

и это было решено ...

0 голосов
/ 15 июля 2011

Это означает, что вы выпустили объект и снова используете выпущенный объект. С помощью свойства retain вы можете обработать эту ошибку. И еще одна вещь, о которой я хотел бы сказать, перед отправкой сборки кому-либо, удалите NSZombieEnabled. на NO

0 голосов
/ 15 июля 2011

Если у вас включен NSZombie, то он должен прерываться на строке, где вы ссылаетесь на освобожденный объект, не так ли?

Согласно сообщению выше, вы пытаетесь освободить экземпляр уже освобожденного NSString.

0 голосов
/ 15 июля 2011

По вашей информации я могу сказать, что вы используете объект NSString, который вы уже выпустили. Если вы использовали NSZombie в инструментах, вы можете найти дорожку стека с помощью viewController и метода, в котором он падает. Было бы очень легко найти объект, к которому вы обращаетесь.

0 голосов
/ 15 июля 2011

Кажется, вы перепустили объект (NSString), т. Е. Отпустили уже освобожденный объект.Посмотрите, выпустили ли вы где-нибудь строку.

...