3

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

界面生成器设置

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

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

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

4

1 回答 1

1

尽管感觉很浪费,但拥有(继续)不同的视图控制器会更加直观且不那么复杂。

您的详细视图控制器必须

  • 显示选项
  • 返回选定的选项
  • 保存状态

因此,在显示、展开或保留/恢复细节时,您最终会在三个点上使用大量条件代码来确定您正在处理的选项组。

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

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

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

于 2015-08-29T14:20:49.240 回答