import UIKit
class UserViewController: UIViewController {
private var viewModel: UserViewModel!
private let nameLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
private let ageLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
// 初始化 ViewModel
init(viewModel: UserViewModel) {
self.viewModel = viewModel
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
bindViewModel()
}
private func setupUI() {
view.backgroundColor = .white
view.addSubview(nameLabel)
view.addSubview(ageLabel)
// 布局设置
NSLayoutConstraint.activate([
nameLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor),
nameLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor),
ageLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor),
ageLabel.topAnchor.constraint(equalTo: nameLabel.bottomAnchor, constant: 20)
])
}
private func bindViewModel() {
nameLabel.text = viewModel.name
ageLabel.text = viewModel.age
}
}