일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- UICollectionView
- RxCocoa
- Xcode
- tableView
- Refactoring
- uiscrollview
- 애니메이션
- ribs
- 리펙토링
- swift documentation
- combine
- rxswift
- MVVM
- 리팩토링
- 스위프트
- Human interface guide
- Clean Code
- SWIFT
- ios
- swiftUI
- clean architecture
- UITextView
- collectionview
- 클린 코드
- map
- uitableview
- Protocol
- 리펙터링
- HIG
- Observable
- Today
- Total
목록retry (5)
김종권의 iOS 앱 개발 알아가기
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..
재시도 처리 retryWhen 사용하여 아래와 같은 상황에서 재시도 처리 Observable로 감쌓여진 API 호출로부터 error 응답을 받은 경우, 특정 시간 이후에 다시 재시도 방법? Observable에 감쌓여진 특정 로직 처리 후 error 이벤트가 발생한 경우, 특정 시간 이후 다시 재시도 방법? 사용한 프레임워크 RxSwift RxCocoa retryWhen closure를 파라미터로 받아서 해당 해당 closure가 완료되면 시도했던 로직 self로 다시 sequence로 만들어서 동작 // PrimitiveSequence.swift public func retryWhen( _ notificationHandler: @escaping (Observable) -> TriggerObservabl..
* Alamofire를 사용했을 때 정석적인 방법은 retry 방법 참고 * 커스텀 팝업 구현 방법은 해당글 참고 retry 기능 아이디어 클로저 이용: `코드에서 전달하고 사용할 수 있는 2가지의 기능을 가진 자체 블록` - 호출하기 전까지 실행 대기 상태인 특성 이용 커스텀 팝업을 부르는 곳에 retry 클로저를 넘김으로써 retry가 필요할 경우, 버튼을 누른 completion에 적용 팝업은 ViewController 계층 구조상 가장 위쪽에 위치한 인스턴스에 present하는 방식 현재 보여지는 ViewController를 찾기 위해 UIWindow의 extension으로 연산 프로퍼티 정의 visibleViewController 이름으로 외부에서 사용할 수 있도록 구현 extension UIW..
1. Alamofire 사용 방법 - Network Layer 구현 (Moya 프레임워크처럼 사용하는 방법) 2. Alamofire 사용 방법 - 토큰 갱신 방법1 (Interceptor, adapt, retry) 3. Alamofire 사용 방법 - 토큰 갱신 방법2 (AuthenticationCredential, Authenticator, AuthenticationInterceptor) 4. Alamofire 사용 방법 - 로그 Log (EventMonitor) Interceptor란? 서버에 요청을 보내기 전에, 중간에 가로채서 어떤 작업을 한 뒤 다시 서버로 보내는 역할 Alamofire를 사용하면 RequestInterceptor 프로토콜을 준수한 클래스의 인스턴스를 request에 실어서 보내..
retry() 연산자를 사용하여 에러처리 retry() 가장 간단한 방법, 에러가 발생할 경우 시퀀스를 재생성하여 Error가 나지않도록 처리 func retry() -> Observable retry(_ maxAttemptCount:) 횟수를 제한할 수 있는 에러처리 func retry(_ maxAttemptCount:) -> Observable retryWhen(_ notificationHandler:) notificationHandler의 타임은 TriggerObservable (= Observable이거나 Subject 형) func retryWhen(_ notificationHandler:) -> Observable 사용방법 만약 RxSwift를 쓰지 않는다면, NSOperation이나 GCD를..