我严重怀疑我们如何深入使用视图模型。
让我用一个例子来解释(在Swift中,但语言并不重要),简单的视图控制器,里面有一个表视图和相关的视图模型。
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
}
}
委托给视图模型是否正确,例如,每个单元格的高度?
通常,可以委托查看模型UI"决定"在其方面?
答案 0 :(得分:1)
我在视图模型中放置内容的一般规则是我是否会测试它们。由于我们不测试视图控制器,如果需要测试某些内容,请考虑将其放在视图模型中。如果计算行高,我会考虑将其放在视图模型中,以便进行测试。