Ios 要用作ViewModel的扩展与类
这些方法中的每一种都有哪些优点和缺点,这些优点和缺点与创建负责视图配置以减小控制器文件大小的文件有关 主要重点是:Ios 要用作ViewModel的扩展与类,ios,swift,model-view-controller,mvvm,architecture,Ios,Swift,Model View Controller,Mvvm,Architecture,这些方法中的每一种都有哪些优点和缺点,这些优点和缺点与创建负责视图配置以减小控制器文件大小的文件有关 主要重点是: 记忆 演出 测试 可用性 这是最简单的、能够工作的示例来演示问题,但是当使用许多方法呈现许多视图时,在比较Extension&ViewModel类时,上面的关注点是否会改变 提醒:ViewModel类或扩展名将放置在单独的文件中 视图模型方法 class VC: UIViewController { lazy var viewModel: ViewMod
- 记忆
- 演出
- 测试
- 可用性
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
}
}
@Paulw11我扩展了类VC(我自己的自定义类),而不是整个UIViewControllerclass@Paulw11对不起,我只是想知道我错了吗,因为我看不到其他UIViewController类中的方法是可访问的,所以我认为扩展方法是可以接受的。