我对iOS中的控制器业务逻辑设计有疑问,
当我有一个可以重复用于多个页面的viewController,以及一些不同的元素,比如navigationItem标题,API调用,不同的单元格高度或类型,这样做的正确方法是什么?
我现在正在做的是为它添加枚举,比如
enum(controllerType) {
typeA
typeB
}
对于每种方法需要配置不同的元素,我做这样的事情
switch type {
case typeA:
//Changes for type A
case typeB:
//Changes for type B
}
有时对于tableViewController,需要在某种类型中添加另一种类型的配置,因此tableView委托和dataSource将具有繁重的业务逻辑
轻松优化另一个文件或类别/扩展中的单独委托/ dataSource,将业务逻辑分离为另一种文件类型,例如' viewModel'并且在viewMtroller中使用viewModel中的方法而不是重逻辑,但它在viewModel中仍然有大的方法,那么设计重用控制器的正确方法是什么?
答案 0 :(得分:0)
您可以设置来自哪个控制器的字符串属性(例如isComingFrom),并将该字符串的检查放在您重用的公共视图控制器中。希望它会对你有所帮助。