[iOS][Swift] MVC Pattern

Jay·2023년 8월 23일
0

iOS

목록 보기
25/47

Model-View-Controller (MVC)는 객체 지향 프로그래밍에서 널리 사용되는 설계 패턴 중 하나입니다. iOS 앱 개발에 있어서도 이 패턴은 중요한 역할을 합니다. 이 포스트에서는 MVC 패턴의 기본 구성 요소와 각 요소가 어떻게 연결되는지 간단한 예제를 통해 설명해보겠습니다.

1. Model (모델)

Model은 앱의 데이터와 그 데이터에 관련된 비즈니스 로직을 캡슐화합니다.

struct Person {
    var name: String
    var age: Int
}

2. View (뷰)

View는 사용자에게 보여지는 UI 요소를 담당합니다. 사용자의 입력을 받아들이고, 모델의 데이터를 시각적으로 표현합니다.

class PersonView: UIView {
    let nameLabel = UILabel()
    let ageLabel = UILabel()
    
    func update(with person: Person) {
        nameLabel.text = person.name
        ageLabel.text = "\(person.age)"
    }
}

3. Controller (컨트롤러)

Controller는 사용자의 입력을 모델로 중개하고, 모델의 변경 사항을 뷰로 업데이트합니다.

class PersonViewController: UIViewController {
    var person: Person? {
        didSet {
            guard let person = person else { return }
            personView.update(with: person)
        }
    }

    var personView: PersonView!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        personView = PersonView(frame: self.view.bounds)
        self.view.addSubview(personView)
        
        person = Person(name: "John", age: 25)
    }
}

이러한 MVC 패턴을 사용하면 앱의 구성 요소 간의 역할이 명확해지며, 코드의 재사용성과 확장성도 향상됩니다. 앱의 로직과 UI를 분리함으로써 더 유연하고 관리하기 쉬운 코드를 작성할 수 있습니다.

profile
Junior Developer

0개의 댓글