더 공부가 필요하겠지만, 이번 챕터는 MVC 디자인패턴을 조금이라도 활용해볼 수 있었다.
간단히 말해서,
Model, View, Controller 이다
모델(Model)
예시:
struct User {
var name: String
var age: Int
}
뷰(View)
예시:
import UIKit
class UserView: UIView {
private var nameLabel: UILabel!
private var ageLabel: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupView()
}
private func setupView() {
nameLabel = UILabel()
ageLabel = UILabel()
// 뷰 레이아웃 설정 코드
}
func updateView(with user: User) {
nameLabel.text = user.name
ageLabel.text = "\(user.age)"
}
}
컨트롤러(Controller)
예시:
import UIKit
class UserController: UIViewController {
private var userView: UserView!
private var user: User! {
didSet {
userView.updateView(with: user)
}
}
override func viewDidLoad() {
super.viewDidLoad()
userView = UserView(frame: view.bounds)
view.addSubview(userView)
user = User(name: "John Doe", age: 30)
}
func updateUser(name: String, age: Int) {
user.name = name
user.age = age
}
}
나의 실제 앱 코드:
결과:
끝!