【发布时间】:2016-04-25 16:36:19
【问题描述】:
好的,据我所知,当我调用一个旨在将视图放入正确框中的设置器时,我遇到了错误。
_parrentViewFrame = parrentViewFrame;
self.containerView.frame = _parrentViewFrame;
self.containerView.bounds = _parrentViewFrame;
[self.containerView layoutIfNeeded];
在 layoutIfNeeded 上出现此错误
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFNumber 长度]:无法识别的选择器发送到实例 0xb000000000000343”
现在我在整个应用程序中都有类似的代码,并且运行良好。我在 -[NSObject(NSObject) doesNotRecognizeSelector:] 处放置了一个符号断点。但这并没有真正的帮助。我仍然不知道它正在尝试调用哪个对象。 containerView 是一个简单的 UIView。该实例始终为 0xb000000000000343,不确定这是否重要,但似乎确实如此。我该如何调试这个问题?
【问题讨论】:
-
您将
NSNumber分配给NSString属性的位置。您是从数组或字典中获取数据吗?也许您认为是字符串的值实际上是一个数字。 -
查看异常的回溯可能会很有用。这会告诉你哪个代码实际上正在发送-length。根本不清楚您发布的代码是否涉及。
-
此异常
[__NSCFNumber length]表示您已将NSNumber分配给NSString。并且可以在 Xcode 中为调试方案添加一个异常断点 -
在lldb命令中添加“所有异常”并注释“bt”的结果。
标签: ios objective-c xcode debugging