【问题标题】:'Cannot do a comparison query for type: (null)' when setting up UINavigationController设置 UINavigationController 时“无法对类型进行比较查询:(null)”
【发布时间】: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


【解决方案1】:

我刚刚遇到这个问题,这是因为我在 PFQuery 中执行了 equalTo:[PFUser currentUser],但当时没有登录用户。

【讨论】:

  • 在此崩溃发生之前我没有看到任何 [PFUser currentUser] 被调用 z8000 任何其他想法为什么它可能会发生?
【解决方案2】:

这真的是一个关于“我如何从崩溃日志中获取更多信息”的问题。 rmaddy 的评论为我指明了正确的方向。

Sean 的回答 here 把我整理出来了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2020-08-13
    • 2018-12-30
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多