我在调试控制台中得到这个:
*** Assertion failure in -[UITableView layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2935.137/UIView.m:8794
但没有关于断言失败的消息。其他时候,当我发现断言失败时,会有一些有用的消息,例如"由于未被捕获的异常而终止应用..."或者其他的东西。什么是调试它的好方法?
答案 0 :(得分:5)
这个特殊的断言(您可以通过搜索“UIView.m:8794”找到)处理自动布局。
看起来你有一个与自动布局有关的UITableView。你看到的断言是:
*** Assertion failure in -[UITableView layoutSublayersOfLayer:],
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Auto Layout still required after executing -layoutSubviews.
UITableView's implementation of -layoutSubviews needs to call super.'
也许您尝试在UITableViewCell或表格页眉或页脚视图中使用自动布局?
答案 1 :(得分:1)
我也有这个错误。表格视图和一切在iOS 8上完美运行,但在iOS 7上崩溃。
原来,我在tableHeaderView
期间使用自动布局设置viewDidLoad
。
我通过为tableHeaderView
设置框架而不是使用自动布局来修复此问题。
正如Dave DeLong所说,也可能是您使用自动布局设置了表格视图的页眉或页脚。