【问题标题】:controller business logic design iOS控制器业务逻辑设计 iOS
【发布时间】:2016-10-21 22:18:28
【问题描述】:

我有一个关于 iOS 中控制器业务逻辑设计的问题,

当我有一个可以重复用于多个页面的 viewController 以及一些不同的元素(例如 navigationItem 标题、API 调用、不同的单元格高度或类型)时,什么是正确的方法?

我现在正在做的是为它添加枚举,比如

enum(controllerType) {
    typeA
    typeB
}

并且对于每个方法需要配置不同的元素,我做这样的事情

switch type {
    case typeA:
    //Changes for type A
    case typeB:
    //Changes for type B
}

特别是对于tableViewController,有时需要配置另外一种类型的cell,所以tableView的delegate和dataSource的业务逻辑会很繁重

像在另一个文件或类别/扩展中分离委托/数据源一样进行轻微优化,将业务逻辑分离到另一个文件类型中,例如“viewModel”,并在 viewModel 中使用方法而不是在 viewController 中使用繁重的逻辑,但它仍然会有很大的方法在 viewModel 中,那么设计重用控制器的正确方法是什么?

【问题讨论】:

    标签: ios uitableview model-view-controller software-design


    【解决方案1】:

    您可以设置您来自哪个控制器的字符串属性(例如 isComingFrom),并将对该字符串的检查放入您正在重用的通用视图控制器中。希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 2013-02-18
      • 2010-11-01
      • 1970-01-01
      • 2017-01-02
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      相关资源
      最近更新 更多