0

当我使用 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];
}

我不认为这是问题,我认为无论它的加载是什么问题......

4

5 回答 5

1

我有类似的问题,我浪费了一整天来解决这个错误......在我的情况下,有一个字符串
str = [[NSString alloc] initWithString:@"a string"];

然后我喜欢

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

它被解决了......

于 2011-07-15T13:00:04.040 回答
0

似乎您过度释放了一个对象(NSString),即释放了一个已经释放的对象。看看你是否已经在某个地方释放了字符串。

于 2011-07-15T12:27:36.697 回答
0

如果您已NSZombie启用,那么它应该在您引用已释放对象的行上中断,不是这样吗?

根据上面的消息,您正在尝试释放已经 deallocated 的实例NSString

于 2011-07-15T12:27:37.263 回答
0

根据您给定的信息,我可以说您正在使用已发布的 NSString 对象。如果您在仪器中使用过 NSZombie,您可以找到带有 viewController 的堆栈轨道以及它崩溃的方法。很容易找到您正在访问的对象。

于 2011-07-15T12:29:21.987 回答
0

这意味着您已在对象上释放并且再次使用已释放的对象。通过使用保留属性,您可以处理此错误。我想告诉您的另一件事是在将构建发送给任何人之前将 NSZombieEnabled 删除为 NO

于 2011-07-15T12:37:27.683 回答