일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWIFT
- rxswift
- MVVM
- ios
- 리팩토링
- ribs
- 클린 코드
- Xcode
- UICollectionView
- collectionview
- UITextView
- 리펙터링
- combine
- uitableview
- Clean Code
- HIG
- map
- RxCocoa
- Human interface guide
- uiscrollview
- swiftUI
- swift documentation
- Protocol
- 스위프트
- 애니메이션
- clean architecture
- tableView
- Observable
- Refactoring
- 리펙토링
- Today
- Total
목록retry(_:) (2)
김종권의 iOS 앱 개발 알아가기
목차) Combine - 목차 링크 Catch(_:) 에러가 발생할때 해당 에러에 대한 catch에 걸리면 catch에서 리턴한 데이터만 방출하고 위에있던 남은 데이터는 무시 struct MyError: Error {} let _ = [1,2,-3,4,5].publisher .tryMap { guard $0 > 0 else { throw MyError() } return $0 } .catch { error in [9,8,7].publisher } .sink( receiveCompletion: { print("Completion: \($0)") }, receiveValue: { print("Value:", $0) } ) // Value: 1 // Value: 2 // Value: 9 // Value: 8 ..
retry를 쓰는 케이스 특정 네트워크에서 request 후에 response로 error를 받은 경우, 횟수나 exponential같은 시간 정책을 정해서 retry하는 경우에 사용 특정 처리에서 error를 받은 경우, 몇초 있다가 몇번은 retry하는 경우 사용 RxSwift를 사용한다고 할때, Observable 스트림에서 retry 연산자를 통해 쉽게 처리가 가능 예제에 사용할 프레임워크 RxSwift 데이터 준비 3개의 데이터를 방출한 후 error를 방출하는 Observable 생성 let someObservable = Observable.create { observer in observer.onNext("1") observer.onNext("2") observer.onNext("3") le..