MVVM 패턴 사용 간 주의해야 할 사항 MVVM패턴은 MVC패턴의 MassiveViewController, Testability의 단점을 해결해주는 디자인패턴으로 저번 포스팅에서 얘기 했었는데요. 다만, MVVM패턴이 무조건적으로 좋을까요? 오늘은 MVVM 디자인패턴 사용 간 주의해야 할 사항을 알아보겠습니다. What should you be careful about? MVVM 사용 시 무엇을 주의해야 할까? MVVM 패턴은 Model을 View에 표출하기 전 ViewModel을 거쳐 변환시킨 후 적용함으로서, ViewModel의 정의만 수정하면, 다수의 Model을 하나하나 변경할 필요 없는 장점이 있습니다. 그래서 만약 많은 Model-to-View 변환을 요구하는 프로젝트일 경우 MVVM 패턴의..
안녕하세요 멍구입니다. ^-^// 오늘은 MVC의 MassiveViewController 문제를 해결할 수 있는 디자인패턴, MVVM패턴의 코드 구현 연습을 Swift언어를 사용해서 해볼까 합니다. 🤩 바로 시작하겠습니다. MVVM패턴 Swift 코드로 구현 해보기 MVVM은 Model-View-ViewModel의 구성을 갖습니다. 먼저 이중에 Model을 구현해보겠습니다. 보통 Model은 Class, Struct등으로 정의됩니다. 아래에서 바로 코드로 구현해보겠습니다. 먼저 해당 프로젝트는 Playground에서 진행합니다. MVVM의 구현결과는 Playground의 LiveView에서 볼 예정입니다. 구현하기에 앞서 먼저, UIView를 Playground의 LiveView에서 표출하기 위해 두개의..
Slice 컬렉션 조각 컬렉션 조각, Slice 또한 제네릭 구조체로 선언되어있습니다. 선언부에서 볼 수 있듯이, 원본 컬렉션의 타입을 따라가게 됩니다. Slice는 이름 그대로, 원본 컬렉션의 부분 배열이라 할 수 있을 것 같습니다. 컬렉션 프로토콜도 그렇듯, 이를 준수하는 Sllice는 스위프트 표준 라이브러리에 포함되어 있습니다. Slices Share Indices 기존 색인을 공유하는 부분 컬렉션 컬렉션과 그 컬렉션의 부분 조각(Slices)은 동일한 색인, 인덱스 값을 공유합니다. Collection의 요소는 컬렉션 내 부분 조각(Slices)에도 동일하게 공유됩니다. 부분 조각 혹은 원본 컬렉션이 생성된 이후 변경되지 않았다면 말이죠. 그 예를 들자면, 세션 간 각 클래스의 결석 수를 고정적..
Accessing Individual Elements 컬렉션 내 개별적인 값 접근하기 Collection프로토콜을 채택한 컬렉션들의 요소는 특정 위치의 인덱스를 통해 접근할 수 있습니다. 딱 하나 예외적으로, collection의 endIndex 프로퍼티를로는 값을 접근할 수 없습니다. "endIndex는 값의 인덱스가 아닌 컬렉션의 끝을 지나간 인덱스"로, 어떠한 컬렉션의 값과도 대응되지 않습니다. 아래의 경우 특정 문자열의 맨 처음 인덱스 Character 문자를 출력하는 코드입니다. 위의 코드를 보시면, String 문자열인 text를 선언하고, text의 맨 첫 인덱스를 가리키는 String.index타입의 text.startIndex를 startIndex에 저장하고 있습니다. 해당 인덱스를 통해..
- Total
- Today
- Yesterday
- 프로그래머스
- CoreML
- createML
- swift알고리즘
- swift string
- Collection
- swift문제
- swift 문자열
- swift 기초
- 알고리즘문제
- 프로그래머스swift
- 백준swift
- swift reduce
- 프로토콜
- swift
- 스위프트
- publisher
- 개발자문서
- ios
- swift언어
- SwiftUI
- 알고리즘
- Protocol
- 김프매매
- Swift 알고리즘
- 부스트코스
- 백준알고리즘
- uikit
- 자연어처리
- 컬렉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |