OOP(개체 지향 프로그래밍)를 이미 알고 있습니다. OOP는 bob이 속성 다리와 noseSize를 가진 클래스 Human의 인스턴스와 마찬가지로 속성과 함수가 있는 클래스에서 Swift 코드를 구성합니다. 어디서나 스위프트와 iOS 개발 자습서의 가장 큰 컬렉션에 대한 전체 액세스! 그럼에도 불구하고 앱에서 이러한 역할을 구분할 수 있어야 합니다. 채팅 앱의 몇 가지 예: 이 다이어그램은 기본 iOS 아키텍처 패턴인 MVC를 제공합니다. 10 년 전 나는 매우 간단한 방법으로이 다이어그램을 이해 : UIView, UIScrollView 또는 UITableView는 해당 다이어그램의 보기입니다. 개발자는 인터페이스 빌더의 씬에 정렬하고 뷰 컨트롤러에 정의된 콘센트 및 작업인 소스 코드와 바인딩합니다. 마지막 하나는 MVC 다이어그램의 컨트롤러입니다. 내 응용 프로그램은 예를 들어 텍스트 파일이나 더 복잡한 경우 코어 데이터를 통해 사용자 데이터를 저장합니다. 이 데이터에 대한 액세스를 허용하는 클래스는 다이어그램의 모델입니다. 예를 들어 뷰 컨트롤러의 단추(위의 하나의 뷰 컨트롤러가 있는 원래 스키마)를 클릭하면 새 뷰 컨트롤러가 열립니다. 을 통해 자체 뷰및 모델을 생성하고 관리합니다. 위의 예에서는 체스 조각 루크에 메시지를 보내고 있습니다.
10단계 앞으로 이동하고 오른쪽으로 3단계를 이동하라고 말합니다. 메시징을 사용하면 이동하도록 지시하여 체스 조각으로 다른 데이터를 전송할 수 있습니다. 메시지를 보내고 받는 것을 생각하면 자동으로 데이터를 보내고 받는 것에 대해 생각하고 있습니다. iOS 개발에서 메시지는 dog.sit()보다 훨씬 더 복잡합니다. 이 예제를 확인: 공유 모델은 종종 공유 논리를 제공 – 우리는 종종 우리의 응용 프로그램의 많은 다른 부분에서 특정 속성에 대해 유사한 검사를 수행해야합니다. 예를 들어 소셜 네트워킹 앱을 빌드하는 경우 현재 사용자가 여러 위치에서 특정 게시물에 댓글을 달 수 있는지 확인해야 할 수 있습니다. 이러한 논리를 복제하는 대신 데이터로 작동하는 개체인 Model을 포함하는 사용자 로 확장합니다. 모델은 ModelInput 프로토콜을 준수해야 합니다. 저장소(예: CoreData, 원격-예: REST API 서비스)와 함께 작동하며 출력에 일반 개체(just structures)를 제공합니다.
이 자습서에서는 Samsara를 예로 사용하여 MVVM 패턴을 적용합니다.
