ios:断言失败UITableView dataSource未设置

时间:2012-10-05 06:58:38

标签: ios uitableview

为什么我收到这样的错误?在我的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'

4 个答案:

答案 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属性?