【问题标题】:-[CLLocation length]: unrecognized selector after table display-[CLLocation 长度]:表格显示后无法识别的选择器
【发布时间】:2015-04-17 14:15:59
【问题描述】:

在做了一些小的修改后,出乎意料的是,我的代码开始崩溃:

-[CLLocation length]: unrecognized selector sent to instance 0x1b3739c0.

这发生在应用完成表格单元格的显示之后,更准确地说是在退出之后:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

我尝试在代码中的所有长度访问中放置断点,但没有一个被捕获。我还在 [NSObject(NSObject) doesNotRecognizeSelector:] 上设置了一个断点,这实际上被捕获了,但完全没有提供任何信息。我还调查了崩溃日志,但崩溃线程与我的应用程序的最后一次联系是在 main 函数中。我如何才能发现导致崩溃的程序的要点?

【问题讨论】:

  • 您是否以某种方式将CLLocation 实例分配给cellForRowAtIndexPath 方法中的单元格标签之一?
  • 我不这么认为,但这是一个很好的提示。实际上,在尝试显示所有单元格后,将正确检测到此类问题。我将评论单元格的人口,看看这是否会改变事情。
  • 是的,事实上,如果我评论单元格的人口,崩溃就会消失。现在我需要挑出有问题的指令,但这将是一个相对较小的问题。非常感谢!我想知道使用 Swift 是否会消除这种错误。

标签: ios objective-c uitableview crash


【解决方案1】:

CLLocation 没有长度方法,请参阅docs。如果不是您的代码(您似乎暗示了这一点),也许它是您的依赖项之一?

顺便说一句,你应该添加一个exception breakpoint,它应该会捕捉到它。

【讨论】:

  • 我知道,我无意询问 CLLLocation 的长度...我设置了异常断点,但没有被捕获。唯一要捕获的断点是 dosNotRecognizeSelector
【解决方案2】:

事实上,表格文本字段之一是错误的 CLLocation。唯一的问题是错误发生的时间。谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 2015-09-09
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多