【发布时间】:2012-10-19 00:57:04
【问题描述】:
我的应用在应用委托中崩溃。
它抛出的错误是:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法对类型进行比较查询:(null)”
我的代码如下。我已将日志记录保留在其中,因此您可以看到我一直在检查的地方:
self.viewController = [[ParseStarterProjectViewController alloc] initWithNibName:@"ParseStarterProjectViewController" bundle:nil];
NSLog(@"View controller is %@",self.viewController);
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
NSLog(@"Nav controller is %@",navController);
NSLog(@"Self window is %@",self.window);
self.window.rootViewController = navController;
当它试图运行最后一行时,它会中断,将 rootViewController 设置为 navController。
3 NSLog 行的结果如下:
View controller is <ParseStarterProjectViewController: 0x1fda0770>
Nav controller is <UINavigationController: 0x1fda1390>
Self window is <UIWindow: 0x1fd97c90; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <UIWindowLayer: 0x1fd97d90>>
对我来说似乎没有什么是空的,这就是为什么我非常困惑。
【问题讨论】:
-
当您的应用程序崩溃时,您是否没有从堆栈跟踪中获取更多详细信息?您是否正在使用一些可以进行任何查询的库?你在视图控制器中做什么处理?
-
如果你解决了这个问题,你应该发布一个答案。它可能会在未来帮助其他人。编辑:我回复时你的评论消失了。
-
我遇到了同样的崩溃,目前很难解决。
标签: objective-c ios uinavigationcontroller