2011-12-19 114 views
0

我有一个带有后退按钮的页面,可将我带到收件箱。我这样做的viewWillDisappear -iOS - removeFromSuperview有时会崩溃应用程序

-(void)viewWillDisappear:(BOOL)animated 
{ 
[super viewWillDisappear:animated]; 
    [inboxToolbar removeFromSuperview ]; 
[inboxToolbar release]; 

}

如果我这样做了几次,应用程序崩溃,并抛出的异常是“无法识别的选择发送到实例”。这种情况非常间歇。任何想法如何去解决/调试它?

+0

它是什么样的实例?调试器显示它吗? – 2011-12-19 23:32:56

回答

1

假设崩溃是访问您的inboxToolbar伊娃,你的代码更改为以下:

-(void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [inboxToolbar removeFromSuperview ]; 
    [inboxToolbar release]; 
    inboxToolbar = nil; 
} 

这将确保inboxToolbar不保留指向释放对象的指针。您还可能遇到其他问题,需要查看崩溃日志和更多代码以确保安全。

0

尝试检查它是否会到你的方法首先回应...

if ([inboxToolbar respondsToSelector:@selector(removeFromSuperview)]) { 
    [inboxToolbar removeFromSuperview]; 
} 
0

添加例外破发点,看看它被抛出,你可能要发送消息到一个对象,是不是在您停止在异常断点后,您可以将鼠标悬停在变量上以查看它们属于哪些类。

如果没有帮助张贴实际的消息,也许我们可以帮助更多的,可能是IOS版本问题,等等