为什么我收到这样的错误?在我的appicaction中,我在表视图中加载webview。
*** Assertion failure in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:], /SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:6048
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource is not set'
答案 0 :(得分:2)
在我的情况下,当我在viewDidLoad中设置它的.date属性时,是一个DatePicker抛出错误。当我将代码移动到viewDidAppear时,问题就消失了。
此错误仅发生在iPhone 4s中,而不是其他后期型号,iPhone或iPad。
答案 1 :(得分:1)
这是一个老问题,我知道,但我在iOS 11.0和Swift 4.0中遇到了同样的问题。
我有一个UITableViewController
,我已将tableView
作为subview
添加到另一个视图中。每次调试tableView
时,viewDidLoad
都被正确调用,并打印出正确的值。 cellForRowAt
第二次运行时发生错误。
我的解决方案是将整个UITableViewController
添加为addChildViewController
到我希望显示tableView
的父视图。
我知道这可能对今天的 OP 没有帮助,但今天可能会有人在讨论这样的问题。
答案 2 :(得分:0)
我也遇到了这个问题。 (花了几天才发现它。)刚才,我已经解决了。我不是百分之百确定解决问题的方法,但我改变的是在viewDidLoad中填充我的所有视图(一些自定义配置),而不是viewWillAppear。
某种程度上导致了dataSource问题。我只是想建议任何人:无论你在viewWillAppear中做什么,可能与tableView有关,请在viewDidLoad中尝试。
答案 3 :(得分:-1)
我猜您的UITableView
数据源未设置:)
更有帮助的是,您是否已在xib中检查过你的tableview中的dataSource属性?