【问题标题】:-[NSNull length]: unrecognized selector sent to instance-[NSNull 长度]:发送到实例的无法识别的选择器
【发布时间】:2014-07-14 14:06:01
【问题描述】:

如何找到 -[NSNull 长度] 的确切位置:发送到实例的无法识别的选择器发生我的意思是行号。

【问题讨论】:

  • 我假设您与 REST-API 对话并返回 JSON 并将 JSON 中的一个元素的内容分配给一个字符串,而不检查该字符串是否实际有效。您应该检查 JSON 中的元素是否为 NSNull,如果是,则分配 nil。
  • 您可能有一个不同类型的对象数组,并希望它们只是NSString 对象,但有些是NSNull 对象。听到您从 JSON 响应中获取数组,我不会感到惊讶。
  • @trojanfoe 我明白了,我们有同样的想法。 :)
  • 是的,同样的老问题......

标签: ios nsnull


【解决方案1】:

尝试通过以下方式放置所有异常断点:

1) 打开左侧面板(项目导航器)

2) 单击项目导航器中的 Breakpoints 选项卡(它是对话气泡旁边的小图标)

3) 点击Xcode左下角的“+”号,选择Add Exception Breakpoint。它应该默认为 All Exception。

4) 再次运行您的程序并尝试让它像往常一样崩溃。

希望这会在它崩溃之前抓住它。如果是这样,它会直接将您带到 Xcode 编码区域中的崩溃行。

【讨论】:

  • 如果没有,您有什么选择?我没有在文件中的任何对象上调用方法长度,我收到了这个错误。
  • 如果我最近遇到[NSNull length]; 异常,通常是我的最新代码导致了它。我系统地跟踪我在屏幕上点击的内容、我正在查看的屏幕以及程序设法执行到的代码的哪一部分。我可以结合使用断点和 NSLog 来帮助我。
【解决方案2】:

如果您更改了 pod 文件中的任何内容,然后出现此错误,只需清理项目并重新构建即可。

【讨论】:

    猜你喜欢
    • 2015-12-24
    • 1970-01-01
    • 2023-03-11
    • 2023-04-09
    • 1970-01-01
    • 2011-08-23
    • 2023-03-09
    • 1970-01-01
    • 2013-05-12
    相关资源
    最近更新 更多