3

为什么我会收到这样的错误?在我的应用程序中,我在表格视图中加载 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

4 回答 4

2

这是一个老问题,我知道,但我在 iOS 11.0 和 Swift 4.0 中遇到了同样的问题。

我有一个UITableViewController,我已经将tableView这个作为一个添加subview到另一个视图中。每次我调试时tableViewviewDidLoad被正确调用并打印出正确的值。第二次运行时出现错误cellForRowAt

我的解决方案是将整体添加UITableViewControlleraddChildViewController我希望tableView出现的父视图中。

我知道这可能对今天的OP没有帮助,但今天可能有人在为这样的问题而苦苦挣扎。

于 2017-11-21T04:21:50.300 回答
2

在我的例子中,当我在 viewDidLoad 中设置它的 .date 属性时,它是一个 DatePicker 引发的错误。当我将代码移到 viewDidAppear 时,问题就消失了。

此错误仅发生在 iPhone 4s 中,不会发生在其他后续型号、iPhone 或 iPad 中。

于 2017-04-03T11:43:27.453 回答
0

我也遇到了这个问题。(花了几天的时间来识别它。)刚才,我已经解决了。我不确定是什么解决了这个问题,但我改变的是在 viewDidLoad 中填充我的所有视图(一些自定义配置),而不是 viewWillAppear。

不知何故,导致数据源问题。我只是想建议任何人:无论您在 viewWillAppear 中做什么,可能与 tableView 相关,请在 viewDidLoad 中尝试。

于 2016-10-02T13:53:36.917 回答
-1

我猜你UITableView的数据源没有设置:)

更有帮助的是,您是否检查过在您的 xib 中您已从 tableview 连接了 dataSource 属性?

于 2013-06-13T14:58:40.937 回答