일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HIG
- 클린 코드
- clean architecture
- 리팩토링
- map
- Refactoring
- collectionview
- 리펙토링
- ios
- Xcode
- Protocol
- Clean Code
- 애니메이션
- RxCocoa
- Observable
- 스위프트
- 리펙터링
- tableView
- uitableview
- combine
- rxswift
- Human interface guide
- UICollectionView
- MVVM
- ribs
- uiscrollview
- swift documentation
- swiftUI
- SWIFT
- UITextView
- Today
- Total
목록Syntactic Sugar (2)
김종권의 iOS 앱 개발 알아가기
* syntactic sugar: 기능은 동일하지만 장황하지 않게 코딩하는것 RxSwiftExt RxSwiftExt는 RxSwift에 연산자를 extension하여 여러가지 유용한 연산자를 제공 보통 RxSwift에서 extension으로 직접 custom하여 연산자를 정의하여 사용해도 되지만, 오픈소스를 사용하면 처음 오는 개발자도 해당 오픈 소스를 알고 있다면 쉽게 바로 사용할 수 있는 장점이 존재 RxSwiftExt를 알고 있으면 장황한 코드들을 더욱 단순하게 처리할 수 있는 점이 존재 RxSwift 연산자를 선언적으로 사용하기 '무엇'이 아닌 '어떻게'에 대한 내용을 선언적으로 표현하는게 핵심 피해야하는 코드 keypath를 사용할 수 있지만, 클로저를 사용하는 코드 쓸모없는 map { } 중괄호..
일반적인 디코딩 방법 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..