Traversing a Collection 컬렉션 순회하기 비록 Collection이 채택하고 있는 Sequence 프로토콜 또한 순회하는 역할로서 사용되어지지만, Collection 은 멀티패스(MultiPass)를 보장합니다. 어떠한 요소(element)라도 그들의 인덱스가 저장 됨으로서 반복적으로 접근될 수 있습니다. 무엇보다도, Collection의 색인 범위는 내부 요소들의 위치에 대한 유한한 범위를 갖고 있습니다. 즉, Collection이 유한한 색인 범위를 보장한다는 것은 많은 Sequence 작업을 함에 있어 안전을 보장함을 의미합니다. 예를들면 Collection이 특정 요소를 가지고 있는지 확인하는데 사용하는 contains(_:) 메서드가 있습니다. 그들의 위치에 따라 Collect..
이전 포스팅에서 Model-ViewModel-Model로 이루어진 MVVM패턴을 코드로 구현해봤는데요. 오늘은 뷰에 직접 표출시켜보겠습니다. 이전 포스팅에서 구현한 코드를 기반으로 이어서 진행하니, 직접 구현해서 확인하고 싶다면, 이전 포스팅을 먼저 참고해서 진행해주시기 바랍니다. 🤗 MVVM 디자인패턴 코드 뷰에 나타내기 먼저 Model을 만들어 보겠습니다. Model은 Pet이었죠? Pet의 생일, 이름, 희귀성, 이미지 등을 먼저 정해줍니다. // MARK: - Example to Action // step 1 let birthday = Date(timeIntervalSinceNow: -2 * 85400 * 366) let image = UIImage(named: "mungGu")! let mung..
One Statement PerLine 하나의 라인 당 하나의 선언. 스위프트에서는 하나의 라인에 하나의 선언만 존재하도록 하는것을 권장합니다. "{}" 가 존재하는 경우를 제외하고는 한 라인 내에 선언되는 것이 일반적입니다. 한 라인에 블록으로 몸체를 감싼 형태의 단일라인 선언은 항상 허용 되어집니다. 이러한 규칙은 조건문과 조건들의 몸체가 동일한 라인에 놓이는게 좋을지 결정할 때 좋은 판단 지표가 될 것입니다. 예를들면, 단일 라인의 조건은 조기 반환, 기본 정리작업으로서 잘 작동됩니다. 하지만 상당한 로직을 가진 메서드를 호출할때 등에는 좋지 않을 수 있습니다. 이렇듯 하나의 라인으로 정의하기 불편하다면, 다수의 라인으로 정의하시면 됩니다. 참고자료 : Google Swift Guide Line
MVVM 패턴 사용 간 주의해야 할 사항 MVVM패턴은 MVC패턴의 MassiveViewController, Testability의 단점을 해결해주는 디자인패턴으로 저번 포스팅에서 얘기 했었는데요. 다만, MVVM패턴이 무조건적으로 좋을까요? 오늘은 MVVM 디자인패턴 사용 간 주의해야 할 사항을 알아보겠습니다. What should you be careful about? MVVM 사용 시 무엇을 주의해야 할까? MVVM 패턴은 Model을 View에 표출하기 전 ViewModel을 거쳐 변환시킨 후 적용함으로서, ViewModel의 정의만 수정하면, 다수의 Model을 하나하나 변경할 필요 없는 장점이 있습니다. 그래서 만약 많은 Model-to-View 변환을 요구하는 프로젝트일 경우 MVVM 패턴의..
- Total
- Today
- Yesterday
- 스위프트
- swift알고리즘
- SwiftUI
- Swift 알고리즘
- 프로토콜
- swift 기초
- 컬렉션
- 자연어처리
- 백준알고리즘
- CoreML
- swift string
- 부스트코스
- Protocol
- swift 문자열
- Collection
- 알고리즘문제
- 김프매매
- createML
- 알고리즘
- swift reduce
- 개발자문서
- 프로그래머스swift
- swift언어
- swift
- uikit
- publisher
- swift문제
- 백준swift
- 프로그래머스
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |