【发布时间】:2013-11-15 16:24:22
【问题描述】:
当我尝试在 xcode5 中使用 IOS6 运行我的旧应用程序时,我在 IOS7 中遇到了奇怪的问题,但一切正常,但是当我尝试推送 Nextview 时,使用 IOS7 时它崩溃了。这是我的应用程序崩溃的代码。
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;
}
【问题讨论】:
-
什么选择器被调用而不存在?尝试启用 NSZombie .. 它甚至可能不是 VC :D 谁知道你的 FamilyBioViewController 包含什么
-
FamilyBioViewController 没有太多数据,只有带有静态文本的滚动视图。即使我从视图中删除所有内容并在 pushViewController 不代表 FamilyBioViewController 之后注释所有代码。
-
您在使用 ARC 吗?我知道我遇到了完全相同的问题,而且这是一个非 ARC 项目。我将它转换为 ARC,然后它就消失了。
-
尝试对您的项目运行分析。此外,展开堆栈跟踪,以便您可以查看崩溃位置的更多详细信息。
-
不,它是旧项目,它是 nonArc 。我不想将其更改为 ARC。
标签: ios iphone ios7 pushviewcontroller