일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 클린 코드
- clean architecture
- collectionview
- combine
- RxCocoa
- ios
- swift documentation
- Xcode
- UICollectionView
- Protocol
- HIG
- MVVM
- tableView
- Observable
- rxswift
- 리펙토링
- Human interface guide
- Refactoring
- 스위프트
- map
- uitableview
- 리팩토링
- UITextView
- Clean Code
- SWIFT
- 리펙터링
- 애니메이션
- ribs
- swiftUI
- uiscrollview
- Today
- Total
목록Scheduler (3)
김종권의 iOS 앱 개발 알아가기
사전지식) RxSwift의 GCD 종류 1) main (serial) main thread에서 처리되는 serial queue (모든 UI관련 작업은 해당 큐에서 main queue에서 실행) 2) global (concurrent) 전체 시스템에서 공유되는 concurrent queue이고, concurrent이기 queue끼리의 우선순위를 위해서 queue를 사용할 때 QoS 설정 필요 userInteractive: 유저가 누르면 즉각 반응 (main queue) userInitiated: 유저가 실행시킨 작업들을 즉각적이지는 않지만, async하도록 처리 default utility: I/O, n/w API 호출 background: 유저가 인지하지 못할 정도의 뒷단에서 수행하는 작업 3) 커스텀 ..
목차) Combine - 목차 링크 Scheduler 언제, 어떻게 클로저가 실행될지 정하는 프로토콜 thread 설정도 가능 (main, global) 시간 설정도 가능 Scheduler 사용 방법 스레드 변경 receive(on:): downstream의 스레드 변경 subscribe(on:): upstream의 스레드 변경 receive(on:), subscribe(on:) 안쓴 경우 스레드 확인 DispatchQueue.global()로 실행한 경우, main thread가 아닌 global thread에서 sink의 클로저 부분이 동작 즉, 따로 스케줄러 설정을 하지 않으면 subject의 이벤트를 발행하는 쪽의 스케줄러와 동일하기 sink 클로저 부분이 동작 let subject = Pass..
* 사용 : 쓰레드와 병렬처리를 다룰 때 1. Scheduler 개념 1) 정의 프로세스가 있는 곳의 context (여기서의 context = thread, dispatch queue) 2) 사용 한 Context에서 cache 연산자를 이용하여 전달 2. 연산자 1) subscribeOn(_:) Observable의 프로세싱이 어디서 일어나게 할 것인지 결정하는 연산자 let fruit = Observable.create { observer in observer.onNext("[apple]") sleep(2) observer.onNext("[pineapple]") sleep(2) observer.onNext("[strawberry]") return Disposables.create() } let gl..