当我使用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];
}
我不认为这是问题所在,我认为不论它的负载是什么......
答案 0 :(得分:1)
我有类似的问题而且我浪费了一整天来解决这个错误......在我的情况下,有一个类似的字符串
str = [[NSString alloc] initWithString:@"a string"];
然后我就像
一样str = [NSString stringWithFormat:@"%@",aVarible];
它已经解决了......
答案 1 :(得分:0)
似乎你过度释放一个对象(NSString)即释放已经释放的对象。看看你是否已经在某个地方发布了字符串。
答案 2 :(得分:0)
如果您启用了NSZombie
,那么它应该在您引用解除分配对象的行上中断,是不是这样?
根据上面的消息,您尝试发布已经解除分配的NSString
的实例。
答案 3 :(得分:0)
根据您提供的信息,我可以说您正在使用已经发布的NSString对象。如果您在仪器中使用过NSZombie,您可以使用viewController找到堆栈轨道以及崩溃的方法。找到您正在访问的对象非常容易。
答案 4 :(得分:0)
这意味着你已经释放了对象并再次使用已释放的对象。使用retain属性可以处理此错误。我想告诉你的另一件事是在将构建发送给任何人之前删除NSZombieEnabled没有