在表视图中插入行而不在代码中存储数据源

时间:2015-09-25 19:22:02

标签: ios swift uitableview

我在storyBoard中使用静态单元格和多个部分绘制了tableView。每个6个部分具有适当数量的静态单元。在代码中,在MyTableViewController中我没有实现任何数据源或委托方法,这在逻辑上意味着我没有代码中的模型,数组或任何dataSource方法将用于填充节中的节数或行数。我的问题是:是否可以在任何部分插入一行?

我读了很多堆栈问题。所有这些都基于一个模型数组或字典,它在dataSource方法中扮演着构建表的角色。

我的桌子已经在storyBoard中构建了。我可以使用tableView.numberofSections()获取我的部分数量。这意味着模型肯定存储在某个地方。我只需要一个合适的方法来访问该模型。

1 个答案:

答案 0 :(得分:0)

UITableView的工作原理与数据源协议相同。当您滚动表格时,它允许iOS在任何给定时间使用显示在屏幕上所需的内容,使其非常高效。如果没有实现所需的方法,iOS将无法知道如何重建单元格,如果您将其从屏幕上滚动然后重新打开。

如果您不需要这种复杂性(实际上,它并不复杂,并且您可以在比我采取响应的时间更短的时间内实现所需的方法),您可以在其中使用UIStackView一个UIScrollView。它允许您在屏幕上垂直向下添加一组UI组件,并完成滚动。

您能否解释一下您为什么不想实施UITableViewDataSource协议?