본문 바로가기

Swift

RxSwift Error Handling 을 제대로 해보자! RxSwift를 사용하면서 좋은 점 중 하나는 Error Handling 을 간편하게 할 수 있다는 점입니다. 간단히 쓸수 있는 Error handling 도 중요하지만 보다 복잡한 조건을 추가해봅시다. Conditions: 1. Restful API 실패 시 3번의 retry 해야함 2. 실패하면 다시 요청할 때 까지 300 millisecond의 Interval 이 있어야 함. 3. 특정 Error 값이 발생할 경우에만 retry 를 해야 함 어떻게 해야 할지 감이 오시나요? 바로 소개합니다. ObservableType retryWhen(predicate:maxRetry:timeInterval:scheduler) 의 Util 함수를 만들었습니다! 2019-09-03 16:56:13.589: retry.. 더보기
왜 MVVM 을 사용할까요? 이 포스트는 기본적인 MVVM 의 지식을 알고 있다는 가정하에 설명되며 개인적인 의견이 많이 포함되어있습니다. 왜 MVVM 을 사용할까요? 저는 개인적으로 3가지 이유를 들수 있습니다. 1. 구체적인 View 를 알지 못하더라도 요구사항에 따라 ViewModel 을 설계할 수 있습니다. 2. ViewModel을 재사용 단위로 설계할 수 있습니다. 3. Testable 합니다. Github Repositories 를 검색할 수 있는 기획이 있다고 가정해 봅시다. 구체적인 View 를 알지 못하더라도 요구사항에 따라 ViewModel 을 설계할 수 있습니다. 우리는 위에 간단한 Demo 에서 4가지 Case 의 요구사항을 정의할 수 있습니다. 1. Repository는 이름으로 검색할 수 있습니다. 2. 검.. 더보기
iOS 사용성 최대로 올려보자! (Final) - UIViewController Interactive Transition 저번 포스팅에서는 어려운 단계에 도달하기 전에 쉬어가는 시간으로 Easing Function 을 살펴보았습니다. 이 포스팅은 "사용성 최대로 올려보자!"의 Series 중 일부입니다. 1. iOS 사용성 최대로 올려보자! (Part1) - PaintCode 2. iOS 사용성 최대로 올려보자! (Part2) - ShapeShifter 3. iOS 사용성 최대로 올려보자! (Part3) - UIView Interactive Animation 4. iOS 사용성 최대로 올려보자! (Part4) - UIViewController Non Interactive Transition 5. iOS 사용성 최대로 올려보자! (Part5) - Easing function 6. iOS 사용성 최대로 올려보자! (Final).. 더보기
iOS 사용성 최대로 올려보자! (Part4) - UIViewController Non Interactive Transition 저번 포스팅에서는 Interactive Animation 를 다루는 방법을 살펴보았습니다. 이 포스팅은 "사용성 최대로 올려보자!"의 Series 중 일부입니다. 1. iOS 사용성 최대로 올려보자! (Part1) - PaintCode 2. iOS 사용성 최대로 올려보자! (Part2) - ShapeShifter 3. iOS 사용성 최대로 올려보자! (Part3) - UIView Interactive Animation 4. iOS 사용성 최대로 올려보자! (Part4) - UIViewController Non Interactive Transition 5. iOS 사용성 최대로 올려보자! (Part5) - Easing function 6. iOS 사용성 최대로 올려보자! (Final) - UIViewCon.. 더보기
iOS 사용성 최대로 올려보자! (Part2) - ShapeShifter 저번 포스팅에서는 PaintCode 를 다루는 방법을 살펴보았습니다. 이 포스팅은 "사용성 최대로 올려보자!"의 Series 중 일부입니다. 1. iOS 사용성 최대로 올려보자! (Part1) - PaintCode 2. iOS 사용성 최대로 올려보자! (Part2) - ShapeShifter 3. iOS 사용성 최대로 올려보자! (Part3) - UIView Interactive Animation 4. iOS 사용성 최대로 올려보자! (Part4) - UIViewController Non Interactive Transition 5. iOS 사용성 최대로 올려보자! (Part5) - Easing function 6. iOS 사용성 최대로 올려보자! (Final) - UIViewController Inte.. 더보기
iOS 사용성 최대로 올려보자! (Part1) - PaintCode 개인앱을 개발하고 있다면? 이 글을 꼭 봐야 할 것입니다. 이 포스팅은 "사용성 최대로 올려보자!"의 Series 중 일부입니다. 1. iOS 사용성 최대로 올려보자! (Part1) - PaintCode 2. iOS 사용성 최대로 올려보자! (Part2) - ShapeShifter 3. iOS 사용성 최대로 올려보자! (Part3) - UIView Interactive Animation 4. iOS 사용성 최대로 올려보자! (Part4) - UIViewController Non Interactive Transition 5. iOS 사용성 최대로 올려보자! (Part5) - Easing function 6. iOS 사용성 최대로 올려보자! (Final) - UIViewController Interactiv.. 더보기
navigationController의 [hidesBarsOnSwipe , hidesBarsOnTap, hidesBarsWhenKeyboardAppears, hidesBarsWhenVerticallyCompact] 알아봅시다. StoryBoard onSwipe, onTap, When Keyboard Appears, When Vertically Compact 4가지 옵션이 있습니다. programmatically navigationController?.hidesBarsOnSwipe = true navigationController?.hidesBarsOnTap = true navigationController?.hidesBarsWhenKeyboardAppears = true navigationController?.hidesBarsWhenVerticallyCompact = true 더보기