2015-04-17 61 views
0

出乎意外做了一些细微的修改之后,我的代码已开始与崩溃:- [CLLocation长]:桌面显示器后无法识别的选择

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

这种情况发生在应用程序已完成的单元格的显示后表,在退出后,更确切地说:

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

我试图把断点在所有长度访问代码,但没有人被抓获。我还在[NSObject(NSObject)doesNotRecognizeSelector:]上设置了一个断点,事实上这个断点已经被捕获,但完全没有提供任何信息。我也调查了崩溃日志,但崩溃的线程与我的应用程序的最后一次联系是在主函数中。我怎么能发现产生崩溃的程序的重点?

+0

你是不知何故地在你的'cellForRowAtIndexPath'方法中为其中一个单元格的标签分配一个'CLLocation'实例? – rmaddy

+0

我不这么认为,但这是一个很棒的提示。实际上,在尝试显示所有单元格后,会正确检测到这样的问题。我会评论该细胞的人口,看看是否改变了事情。 –

+0

是的,事实上,如果我评论这个单元格的人口崩溃了。现在我需要挑出违规指令,但那会是一个相对较小的问题。非常感谢你!我想知道如果用Swift这种错误会被抹去。 –

回答

0

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

1

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

顺便说一句,你应该添加一个exception breakpoint,它应该抓住这一点。

+0

我知道,我无意问长度到CLLLocation ... 我忍了,异常断点,但没有发现。要捕获的唯一断点是doesNotRecognizeSelector上的断点 –