일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios
- swiftUI
- 스위프트
- RxCocoa
- Refactoring
- swift documentation
- tableView
- 리팩토링
- 클린 코드
- SWIFT
- HIG
- Xcode
- Observable
- 리펙토링
- Human interface guide
- rxswift
- UICollectionView
- ribs
- map
- UITextView
- uiscrollview
- combine
- 애니메이션
- MVVM
- 리펙터링
- Protocol
- Clean Code
- collectionview
- clean architecture
- uitableview
- Today
- Total
목록~= (4)
김종권의 iOS 앱 개발 알아가기
Enum 생성자 사용 enum도 class와 struct와 같이 초기화하여 사용할 수 있도록 하는 방법이 존재 ex) 과일 이름 문자열 값을 enum타입의 생성자로 넣으면, 과일 타입으로 나오게끔 하는 방법 let fruit = "apple" let type = Fruit(fruit) print(type) // Optional(Fruit.apple) enum 생성자 사용 방법 enum 준비 enum Fruit { case apple case banana case orange } switch문을 통하여 case타입을 초기화 하는 방식이기에, 내부적으로 초기화할때 사용할 각 타입에 따른 이름 값 정의 private var nameValue: String { switch self { case .apple: r..
패턴 매칭) 많이 사용하는 익숙한 패턴 1) 바인딩 let age = (20, 34) switch age { case let (a1, a2): print("\(a1), \(a2)") default: break } 2) 와일드 카드 switch age { case let (a1, _): // '_' 와일드 카드 패턴 print("\(a1), \(a2)") default: break } 3) 튜플 let (v1, v2) = (1, 2) print(v1) print(v2) 4) enum enum MyEnum { case a(Int) case b } let myEnum = MyEnum.a(10) if case let a(int) = myEnum { print(int) } 패턴 매칭) 익숙하지 않은 패턴 1) 옵..
* Enum에 Equatable 프로토콜을 준수하여 만드는 방법) https://ios-development.tistory.com/348 Enum에 ~= 연산자 사용하여 init 만들기 일반적인 경우, enum은 String을 준수하여 rawValue로 초기화가 가능 enum NamePrefix: String { case kim case lee case park } (rawValue로 초기화) let namePrefix = NamePrefix(rawValue: "kim") print(namePrefix) // Optional(ExEnum.NamePrefix.kim) ~= 연산자를 사용하면, 손쉽게 equatable 속성으로 만들기가 용이 static으로 ~= 연산자를 정의 failable init으로 초..