일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- Clean Code
- uitableview
- Human interface guide
- swiftUI
- 애니메이션
- combine
- ribs
- RxCocoa
- UICollectionView
- Protocol
- 스위프트
- 리펙터링
- MVVM
- collectionview
- SWIFT
- tableView
- Refactoring
- ios
- Observable
- rxswift
- 클린 코드
- swift documentation
- map
- clean architecture
- 리팩토링
- uiscrollview
- UITextView
- Xcode
- HIG
- Today
- Total
목록share() (3)
김종권의 iOS 앱 개발 알아가기
Hot Observable과 Cold Observable 개념 hot observable 이벤트를 발행할때 observer가 있든 없든 바로 방출하는 것 여러 observer가 구독해도 모두 같은 데이터를 발행 ex) PublishSubject, BehaviorSubject cold observable 이벤트를 발행할때 observer가 구독했을때 방출하는 것 (observer가 구독하기 전까지는 방출을 안한다고해서 cold라고 표현) 각각의 observer마다 독립적인 데이터 생성하여 발행 ex) just, single, create 코드로 보는 Hot, Cold Observable Observable.create는 cold observable이므로, observer가 구독하는 시점마다 독립적으로 발생..
subscribe or bind 시 그만큼 해당 Observable이 create되는 것을 주의 구독만 해도 해당 Observable의 `create`가 호출되면서 스트림이 생긴다는 것을 명심할 것 테스트에 사용할 예시 API 정의 enum API { private static var count = 0 static func requestSomeAPI() -> Observable { Single.create { single in let params: [String: Any] = [ "lon": 113, "lat": 23.1, "ac": 0, "unit": "metric", "output": "json", "tzshift": 0 ] AF .request( "https://www.7timer.info/bin/..
Share() 연산자는 자원을 공통으로 사용 할 수 있게끔 하는 개념 1. Share을 쓰는 이유 1) MVVM설계 // ViewModel 정의 class SomeViewModel { let result = userTappedButton .flatMapLatest {apiService.rx.getFriend() } name = result.map {$0.name} phone = result.map {$0.phone} } // ViewController에서 ViewModel과 UI연결 class { ... viewModel.name .bind(to: lblName.rx.text) // UI와 ViewModel간의 연결 .disposed(by: bag) viewModel.phone .bind(to: lblP..