gpt4 book ai didi

ios - 6 个单独的 UIViewController 还是只有一个具有不同数据源的 segue 决定?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:22 28 4
gpt4 key购买 nike

我正在用 Swift 构建一个 iOS 应用程序,它的起始页有 6 个按钮。这些按钮中的每一个都将连接到一个 TableView Controller ,其数据由 NSFetchedResultsController 管理(应用程序使用核心数据)。现在,我可以看到创建 6 个 UITableViewControllers 很容易,但是我想知道将每个按钮发送到同一个 UITableViewController 并仅更改数据是否更明智通过在 prepareForSegue 方法中设置某种标志来加载/管理?

此处的最佳做法是什么?拥有 6 个 tableViewController 似乎很疯狂,每个都由它自己的 NSFetchedResultsController 支持,因为每个所需代码的大部分都是可重用的,并且可以被子类化并多次使用。

最佳答案

如果您可以使用单一代码库以支持所有六个 View Controller 的方式编写单个 View Controller ,那么重用单个 UITableViewController 就非常有意义。其他方法包括

  • Composition - 为数据源创建一个类,在打开 TableView 之前配置它,并在 segue 上将其传递给 TableView
  • 子类化 - 制作一个抽象的基础 View Controller ,并将其扩展六次。覆盖一两个抽象方法以减少重复量
  • Helper - 创建一个类,其中包含在六个 View Controller 之间共享的所有可重用逻辑,并从六个非常滑动的 Controller 调用其方法。

您要避免的一件事是这样的代码:

if (viewControllerType == ViewControllerOne) {
doSomethingSpecial()
} else if (viewControllerType == ViewControllerTwo) {
doSomethingElseSpecial()
} ... // and so on

当您拥有这样的链时,您就知道您已经错过了子类化的机会。

关于ios - 6 个单独的 UIViewController 还是只有一个具有不同数据源的 segue 决定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com