我有一个带有后退按钮的页面,可以将我带到收件箱。我在viewWillDisappear中执行此操作 -
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[inboxToolbar removeFromSuperview ];
[inboxToolbar release];
}
如果我这样做几次,应用程序崩溃,抛出的异常是“无法识别的选择器发送到实例”。这种情况非常间歇性地发生。关于如何修复/调试它的任何想法?
答案 0 :(得分:1)
假设崩溃正在访问您的inboxToolbar
ivar,请将您的代码更改为以下内容:
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[inboxToolbar removeFromSuperview ];
[inboxToolbar release];
inboxToolbar = nil;
}
这将确保inboxToolbar
不保留指向解除分配对象的指针。您还可能遇到其他问题,需要查看崩溃日志以及更多代码才能确定。
答案 1 :(得分:0)
尝试检查它是否会首先响应您的方法......
if ([inboxToolbar respondsToSelector:@selector(removeFromSuperview)]) {
[inboxToolbar removeFromSuperview];
}
答案 2 :(得分:0)
添加一个异常断点以查看它被抛出的位置,您可能正在向一个不属于您认为的类的对象发送消息,在您停止异常断点后,您可以将鼠标悬停在变量上以查看它们属于哪些类。
如果这不能帮助发布实际消息,也许我们可以提供更多帮助,可能是iOS版本问题等。