Ios 正确地删除视图
我有这段代码,它可以在iPhone4S及以下版本上运行。现在iPhone5S的4英寸屏幕出现了一个错误。我可以通过注释掉Ios 正确地删除视图,ios,ios6,Ios,Ios6,我有这段代码,它可以在iPhone4S及以下版本上运行。现在iPhone5S的4英寸屏幕出现了一个错误。我可以通过注释掉[appDel.navController.view removeFromSuperview]
[appDel.navController.view removeFromSuperview]但是我认为这不是正确的方法。我也不这么认为,如果有人能在这件事上透露一些信息,那就太好了
谢谢
代码:
当您通过多个访问器引用某个对象时,例如“appDel.navController.view
”(我正试图为该对象想出一个正式的目标C名称,也许有人看到我的答案会提醒我),您很可能会被一个不是您所期望的结果所灼伤
在我自己的代码中,我尝试尽可能多地进行错误检查
下面的代码可能有助于隔离问题。从实际意义上讲,您不需要太多的代码行,但这可能有助于您了解这里可能出现的问题
if(appDel)
{
if(appDel.navController)
{
if(appDel.navController.view)
{
[appDel.navController.view removeFromSuperview];
} else {
NSLog( @"the view of navController is NULL" );
}
} else {
NSLog( @"navController is NULL" );
}
} else {
NSLog( @"appDel is NULL" );
}
抛出的错误类型是什么?抛出的错误是EXC\u BAD\u ACCESS
。使用此代码后,我尝试重新创建此错误,但它开始工作。我不知道这是怎么回事,但它起作用了。谢谢
if(appDel)
{
if(appDel.navController)
{
if(appDel.navController.view)
{
[appDel.navController.view removeFromSuperview];
} else {
NSLog( @"the view of navController is NULL" );
}
} else {
NSLog( @"navController is NULL" );
}
} else {
NSLog( @"appDel is NULL" );
}