IOS7中的PushViewController崩溃
当我尝试在xcode5中运行我的旧应用程序时,我在IOS7中遇到了一个奇怪的问题,IOS6一切正常,但在IOS7中,当我尝试推下一步时,它会崩溃。下面是我的应用程序崩溃的代码IOS7中的PushViewController崩溃,ios,iphone,ios7,pushviewcontroller,Ios,Iphone,Ios7,Pushviewcontroller,当我尝试在xcode5中运行我的旧应用程序时,我在IOS7中遇到了一个奇怪的问题,IOS6一切正常,但在IOS7中,当我尝试推下一步时,它会崩溃。下面是我的应用程序崩溃的代码 FamilyBioViewController *detailView=[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]]; [self.navigationController
FamilyBioViewController *detailView=[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:detailView animated:YES];
[detailView release];
崩溃发生时,控制台中没有显示任何错误。下面的屏幕截图显示了崩溃结果
有趣的是,当我用presentViewController而不是
pushViewController那么它在IOS 7中工作正常
FamilyBioViewController *detailView=[[FamilyBioViewController alloc] initWithNibName:@"FamilyBioView" bundle:[NSBundle mainBundle]];
[self presentViewController:detailView animated:YES completion:nil];
[detailView release];
所以问题是为什么pushViewController会导致IOS7出现问题?任何帮助都将不胜感激。提前谢谢
编辑:
有关更多详细信息,请参阅我的应用程序流,这是我的AppDelegate代码
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if(tabBarController.selectedIndex==1 || tabBarController.selectedIndex==3)
{
[(UINavigationController *)[tabBarController selectedViewController] popToRootViewControllerAnimated:NO];
}
}
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
return YES;
}
----编辑---
我上面的例子不是解决方案
别忘了为navigationController声明第一个viewController
在iOS6中,这不是什么大问题。在iOS7中,它是
看看
[[UINavigationController alloc] initWithRootViewController: (UIViewController *)controller]
只有当你有根的时候你才能推 视图控制器阵列中的视图控制器必须是唯一的仍然发生了崩溃。感谢您的帮助,因此请检查它。我正在将导航控制器与UITabbar一起使用。有什么问题吗?没有错误,您可以在此处查看我的应用程序流,我的解决方案是否帮助了您?让我们了解调用了什么选择器,而没有?尝试启用NSZombie。。它可能不是VC,甚至:D谁知道你的FamilyBioViewController包含什么FamilyBioViewController没有太多数据,只有带有静态文本的scrollview。即使我从视图中删除所有内容并注释所有代码,pushViewController也不代表FamilyBioViewController。你在使用ARC吗?我知道我有完全相同的问题,这是一个非ARC项目。我把它转换成了ARC,然后它就消失了。试着在你的项目上运行Analyze。此外,展开堆栈跟踪,以便可以查看崩溃位置的更多详细信息。不,这是旧项目,它是非ARC的。我不想将其更改为ARC。
[[UINavigationController alloc] initWithRootViewController: (UIViewController *)controller]