我正在清理我的代码,因为我的TableViewController课程变得相当充实和漫长.为了清理代码,我想创建一些为它们提供方法的实用程序类TableViewController.在我当前的实现中,这些方法/函数能够在main中更改变量TableViewController.以下是我当前设置的示例:
class FooImplementation: NSObject {
var viewController: Foo
init(viewController: TableViewController) {
self.viewController = viewController
}
}
class FooUtility1: FooImplementation {
// Methods
}
class FooUtility2: FooImplementation {
// Methods
}
class Foo: TableViewController {
var fooUtility1: FooUtility1
var fooUtility2: FooUtility2
override viewDidLoad() {
fooUtlity1 = FooUtility1(self)
fooUtlity2 = FooUtility2(self)
}
// Use of the methods...
}
Run Code Online (Sandbox Code Playgroud)
是否有更好/普遍定义的创建和使用这些类的方法?这些类可以组合成一个Utility可以访问所有方法FooUtility1并FooUtility2提供的类吗?
谢谢!
我不认为添加实用程序类是一个好的设计模式,至少有以下原因:
当然我不知道你想从视图控制器移动到实用程序类的行为是什么 - 我的建议是使用以下一个或多个:
UIViewController,用作最终视图控制器的超类第二种情况是我经常使用的,第3种是我应用于我的最新项目的情况,通过实现每个要显示的视图更好地分离关注点:
它使开发变得更复杂,但最后我有一个光视图控制器,以及一个负责显示数据,处理事件并将它们转发到视图控制器的视图.
请注意,这不是解决方案,只是一种可能的解决方案.有几个变量需要考虑,确保你想从视图控制器移动什么,我想也是个人偏好.
| 归档时间: |
|
| 查看次数: |
1862 次 |
| 最近记录: |