gpt4 book ai didi

swift - 移动应用的 MVVM 最佳实践

转载 作者:可可西里 更新时间:2023-11-01 02:19:38 30 4
gpt4 key购买 nike

我严重怀疑我们必须深入使用 View 模型。

让我用一个例子来解释(在 Swift 中,但语言并不重要),简单的 View Controller ,里面有一个 TableView 和一个相关的 View 模型。

class FooViewController: UIViewController, UITableViewDelegate, UISearchBarDelegate {

let viewModel = FooViewModel()

@IBOutlet var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
}

// MARK: - Table view delegates -

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return viewModel.heightForRow()
}
}

class FooViewModel {

// MARK: - Table view management -

func heightForRow() -> CGFloat {
return 60.0
}

}

将每个单元格的高度委托(delegate)给 View 模型是正确的做法吗?
一般来说,可以委托(delegate)查看模型 UI 在其方面“决定”吗?

最佳答案

我在 View 模型中放置东西的一般规则是我是否会测试它们。由于我们不测试 View Controller ,如果需要测试某些东西,请考虑将其放在 View 模型中。如果计算了行高,我会考虑将它放在 View 模型中以便进行测试。

关于swift - 移动应用的 MVVM 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695037/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com