디스패치 그룹은 단일 장치와 같이 task들의 그룹을 모니터 하는 것입니다. 디스패치 그룹을 사용하게 된 이유는 여러 개의 request를 날렸고 response가 끝나는 시점을 잡아 한 번에 UI를 업데이트시키기 위해 DispatchGroup을 사용하게 되었습니다. DispatchGroup을 사용하기 이전에는 어떻게 처리했냐면.. 음 프로퍼티 옵서버를 사용했습니다. didSet을 사용하면 프로퍼티가 변경된 바로 직후를 파악할 수 있어서 그냥 프로퍼티 옵저버를 사용했습니다. 다시 말해 API콜을 날리면 response데이터로 weatherInfo을 하나씩 받게 되고, 받은 데이터를 weather에 append 해주는 방식으로 처리했습니다. 위와 같이 제가 초기에 구현했던 코드로 여러 reponse데이터를..
DispatchQueue는 앱의 메인 스레드 또는 백그라운드 스레드에서 작업을 직렬 또는 병렬로 실행을 관리하는 오브젝트입니다. DispatchQueue는 DispatchObject를 상속하고 있는 클래스입니다. DispatchObject는 OS_object를 상속하고 있으며 많은 디스패치 오브젝트 타입을 가집니다. 예를 들어 DispatchQueue, DispatchGroup, DispatchSource등이 있습니다. 또한 기본적인 디스패치 오브젝트 인터페이스를 사용하면 메모리 관리, 실행, 일시중지 및 재실행 등을 수행할 수 있습니다. 디스패치 큐는 앱이 블록 개체 형태로 작업을 제출할 수 있는 FIFO 큐입니다. 디스패치 큐는 작업을 순차적serially으로 또는 동시 concurrently에 실행..
- Total
- Today
- Yesterday
- 책
- wwdc
- 스위프트
- ReactiveX
- 머신러닝
- SWIFT
- objective-c
- stanford SwiftUI
- iOS SwiftUI
- rxswift
- 독서
- swiftUI
- leetcode
- 딥러닝
- Xcode
- string
- Deep learning
- 애니메이션
- ios
- Animation
- 스위프트UI
- Algorithm
- swift5
- ARC
- 알고리즘
- 문자열
- objc
- 책 후기
- RX
- 책 추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |