优点和优点这些方法中的每一个都有关于创建文件的缺点,该文件负责视图配置以减少控制器文件大小。
主要焦点是:
这是最简单,能够工作的示例来演示这个问题,但是当使用许多方法存在许多视图时,上述任何问题都会在比较扩展和扩展时发生变化。 ViewModel Class?
提醒:ViewModel类或扩展名将放在单独的文件中。
ViewModel方法
class VC: UIViewController {
lazy var viewModel: ViewModel {
return (main: self)
}()
ovverride viewDidLoad() {
super.viewDidLoad()
initializeUI()
}
func initializeUI() {
viewModel.configureView()
}
}
class ViewModel {
private let main: UIViewController
init(main: UIViewController) {
self.main = main
}
func configureView() {
main.view.backgroundColor = UIColor.blue
}
}
扩展方法
class VC: UIViewController {
lazy var viewModel: ViewModel(main: self)
ovverride viewDidLoad() {
super.viewDidLoad()
initializeUI()
}
func initializeUI() {
configureView()
}
}
extension VC {
func configureView() {
main.view.backgroundColor = UIColor.blue
}
}