Swift 分组的 UITableView 最佳实践

Swift grouped UITableView best practices

我正在设置我的第一个 Swift 应用程序的设置页面,但似乎无法找到一种干净的方法来设置设置视图和子视图之间的主从关系 table 选项视图。

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

中调用的原型单元格

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

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

虽然感觉很浪费,但拥有(转至)不同的视图控制器更直观,也更简单。

您的详细视图控制器必须

  • 显示选项
  • return所选选项
  • 保存状态

因此,在显示、展开或 preserving/restoring 详细信息时,您最终会使用大块条件代码来确定要处理的选项组有以下三点。

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

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

将职责分离到不同的(子类)详细视图控制器意味着每个控制器都可以清楚、简单地处理自己的细节。您的代码将更易于理解、维护和更新。