为什么我会收到这样的错误?在我的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'发布于 2017-04-03 19:43:27
在我的例子中,当我在viewDidLoad中设置它的.date属性时,它是一个抛出错误的DatePicker。当我将代码转移到viewDidAppear时,这个问题就消失了。
此错误仅在iPhone 4s中出现,不会出现在其他更高型号的iPhone或iPad中。
发布于 2017-11-21 12:21:50
这是一个老问题,我知道,但我在iOS 11.0和Swift 4.0中遇到了同样的问题。
我有一个UITableViewController,并将其中的tableView作为subview添加到另一个视图中。每次我调试tableView时,viewDidLoad都会被正确调用,并输出正确的值。第二次运行cellForRowAt时出现错误。
对我来说,解决方案是将整个UITableViewController作为addChildViewController添加到我希望tableView出现的父视图中。
我知道这可能对今天的行动没有帮助,但今天可能有人在为这样的问题而苦苦挣扎。
发布于 2016-10-02 21:53:37
我也遇到了这个问题。(花了几天的时间来确定它。)就在刚才,我已经解决了。我不是百分之百确定是什么解决了这个问题,但我更改的是在viewDidLoad中填充我的所有视图(一些自定义配置),而不是viewWillAppear。
不知何故,有什么东西导致了dataSource问题。我只想建议大家:无论您在viewWillAppear中做什么可能与tableView相关,都可以在viewDidLoad中尝试一下。
https://stackoverflow.com/questions/12741127
复制相似问题