일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- combine
- uiscrollview
- 스위프트
- SWIFT
- UICollectionView
- swift documentation
- rxswift
- uitableview
- Clean Code
- collectionview
- Observable
- 클린 코드
- tableView
- Human interface guide
- UITextView
- Protocol
- Refactoring
- ios
- 리펙터링
- map
- 리펙토링
- 리팩토링
- MVVM
- ribs
- clean architecture
- Xcode
- 애니메이션
- swiftUI
- HIG
- Today
- Total
목록선언형 프로그래밍 (4)
김종권의 iOS 앱 개발 알아가기
명령형 vs 선언형 코드 작성의 흐름명령형 프로그래밍"어떻게" UI를 업데이트할지 명시적으로 작성let label = UILabel()label.text = "Hello, World!"label.textColor = .bluelabel.frame = CGRect(x: 0, y: 0, width: 200, height: 50)view.addSubview(label) 선언형 프로그래밍좀 더 코드가 뷰의 형태와 닮은 형태로 작성struct ContentView: View { var body: some View { Text("Hello, World!") .foregroundColor(.blue) .frame(width: 200, height: 50) ..
1. @resultBuilder 이해하기 - 만들어진 이유 2. @resultBuilder 이해하기 - 응용하여 깔끔한 코드 만들기 3. @resultBuilder 이해하기 - 선언형 UI 만들기 (Declarative UI) @resultBuiler 개념 복습 이름이 result builder인 이유? 결과를 만들어주는 역할을 담당 결과를 만들어준다는 의미는 lazy var로 선언것처럼 코드 블록 내에서 여러 개의 값을 취합하여 return 키워드 없이 하나의 결과로 반환하는 것을 도와주는 기능 목적: 빌딩을 간소화하는 것 SwiftUI에서 @resultBuilder 사용 result buildr의 기능: 여러 개의 값을 취합하여 return 키워드 없이 하나의 결과로 반환해주는 것 따로 functio..
반복문을 파이프라인으로 바꾸기 파이프라인 코드란? 선언적으로 Collection 타입을 순회하는 방법 처리과정을 일련의 연산으로 표현하고, 이 연산은 컬렉션을 입력받아서 다른 컬렉션을 내뱉는 형ㅇ태 논리를 파이프라인(=선언적)으로 표현하면 이해하기가 쉬워지는 효과 객체가 파이프라인을 따라흐르며 어떻게 처리되는지 읽게끔 구현 반복문 형태의 코드 struct Person { let job: String let name: String } var names = [String]() let input = [ Person(job: "sicence", name: "kim"), .init(job: "programmer", name: "lee"), .init(job: "idol", name: "kim") ] // 반복문 ..
일반적인 디코딩 방법 User라는 Codable 모델 준비 struct User: Codable { let id: String let name: String } JSONDecoder()를 사용하여 data형태로 변경 func getUserData() -> Observable { let user = User(id: "1", name: "jake") let encoder = JSONEncoder() guard let data = try? encoder.encode(user) else { return .empty() } return .just(data) } 디코딩 사용 JSONDecoder()를 사용하여 data를 디코딩하여 user모델로 변경 getUserData() .subscribe(onNext: { d..