Swift将UITableView最佳实践分组

时间:2015-08-29 13:25:45

标签: ios swift uitableview grouped-table

我正在设置我的第一个Swift应用程序的设置页面,似乎无法找到一种简洁的方法来设置设置视图和选项的子表视图之间的主 - 详细信息关系。

Interface Builder setup

我的设置页面是一个UITableViewController,具有分组单元格的自定义布局。我还有一个详细的UITableViewController,我想用它来呈现各种设置的选项。我最初的想法让我认为我可以使用单个视图控制器,只需根据segue更改单元格。我最大的问题是将所有数据加载到单元格中,因为分组表没有我可以在

中调用的原型单元格

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) {}

是否有一种普遍接受的方法来设置这些具有已定义行数的设置表?我可以为每个设置制作一个viewcontroller,但这感觉很浪费。

1 个答案:

答案 0 :(得分:1)

即使它感觉很浪费,但是拥有(塞入)不同的视图控制器会更直观,更简单。

您的详细视图控制器必须

  • 显示选项
  • 返回所选选项
  • 保存状态

因此,有三点你最终会得到大块的条件代码来确定你正在处理哪组选项,同时显示,展开或保留/恢复细节。

如果添加了更多选项,单一方法只会继续变得越来越复杂。

如果您将来需要支持第二种(非复选标记)类型的选择,那么整体方法也是最不灵活的。

将责任分成不同的(子类)详细视图控制器意味着每个控制器都可以清楚,简单地处理自己的详细信息。您的代码将更容易理解,维护和更新。