Swift
-
RxSwift - skip, skipWhile, skipUntil에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 4. 4. 01:51
Ch5. Filtering Operators (2) p.108 - p.111Filtering Operator(1)은 여기를 클릭 지난 포스트에서 ignore, elementAt, filter Operator에 대해서 알아보았다.이 포스트에서는 skip, skipWhile, skipUntil Operator에 대해서 알아보겠다. Skipping operatorsskip(_:)시퀀스에서 발생하는 이벤트 중 초반 몇개는 받고 싶지 않을수가 있다. 예를 들어, 일기예보를 받아보는 경우를 생각해보자. 일기예보를 받고 싶지만 난 오전 날씨가 궁금하지가 않다.근데 일기예보는 오전날씨부터 주구장창 알려줄거란 말이죠?? 이런 경우에, skip을 사용해서 오전날씨는 패스할 수 있겠네요. 시퀀스에 skip Operator가..
-
RxSwift - Subject란? (PublishSubject, Behavior Subject, Replay Subject, Variable)Ray Wenderlich/RxSwift 2018. 2. 14. 14:06
이번 포스트는 코드로 시작해보자 (바로 이해할 필요는 없음)PublishSubject는 데이터를 전달받아 subscriber들에게 뿌려주는 역할을 한다. 마치 신문사(newspaper publisher)에서 하는 Publish같은 느낌임이 코드는 수행해도 print는 되지 않는다. 이유는 subscriber가 없기 때문에! 그럼 subject를 subscribe하는 코드를 코드를 넣어보자.subject에서 next이벤트가 발생하면 string을 출력해주고 있다.이 코드를 넣어도 마찬가지로 print문은 수행되지 않는다.왜냐하면 PublishSubject는 현재 나를 subscribe하는 subscriber들에게만 이벤트를 emit하기 때문이다.즉, next이벤트가 발생한 뒤에 subscribe한 subs..
-
RxSwift - Observable이란?Ray Wenderlich/RxSwift 2018. 1. 30. 15:25
Observables ~ p.54 What is an observable?Rx에는 “observable”, “observable sequence”, “sequence” 이런 단어들이 많이 나온다. 다 같은 의미다.가끔 “stream”이란 단어도 나오는데, 우리는 “stream“이란 단어를 사용하도록 하자. Observable은 하나의 sequence이고, 여러가지 강점을 갖고 있다.그 중 하나가 다들 알겠지만, async하다는 것! 그리고, Observable이 이벤트를 발생시키는것을 emit한다고 표현한다.발생하는 이벤트들은 숫자, 커스텀 인스턴스, 제스쳐(ex. tap) 와 같은 값을 포함할 수 있다. 그림으로 이해해보자. 이 그림은 하나의 sequence를 의미한다.가로로 긴 화살표는 시간의 흐름을..
-
[iOS] Alamofire의 고급 사용법!! SessionManager, SessionDelegate, RequestAdapter, RequestRetrier앱등이에게 살충제를 뿌린다./iOS 2018. 1. 16. 21:21
Alamofire - AdvancedUsage제가 개발중인 프로젝트에서는 중요하다고 판단되는 API의 경우, API가 실패하면 3회 재시도하는 로직이 있습니다.이러한 로직을 공통으로 처리하고자 하는 도중, Alamofire에서 제공하는 Retrier는 뭐지?라는 의문을 시작으로 이 문서를 작성한다.(Alamofire - Advanced Usage를 기반으로 작성하였음) Session ManagerRetrier를 알아보기 전에 SessionManager라는 클래스를 짚고 넘어갈 필요가 있다. 우리는 보통 Alamofire의 request를 생성할 때, 아래와 같은 코드를 작성한다.Alamofire.request("http://www.naver.com") 사실 Alamofire.request()는 Alamo..
-
[Functional Programming in Swift] Functor 이자 Monad 이다.는 무슨의미일까?앱등이에게 살충제를 뿌린다./Swift 2017. 12. 6. 17:19
어떤 Context가 Functor이자 Monad이다. 라는 말은 무슨뜻일까? Context의 Value를 map으로 transform하는 경우 Functor라고 할 수 있다.Context의 Value를 flatMap으로 transform하는 경우 Monad라고 할 수 있다. 따라서 어떤 Context가 Functor이자 Monad인 경우는 Value의 transform을 할 때, map, flatMap 둘 모두를 사용 가능할 때 쓰는말이다.Ex) Optional은 Functor이자 Monad인 Context이다. [까먹을까봐 메모 겸 작성]
-
[DevDiary] 상반기 리뷰앱등이에게 살충제를 뿌린다./일기는 일기장에 2017. 7. 13. 13:02
상반기는 G프로젝트만을 진행했다.아직 오픈은 하지 않았고, 8월 중 오픈 예정이다.프로젝트를 하며 경험한 것들을 기록해본다. 1. 간단 에디터 구현.ImagePickerController를 사용하지 않고 Photos Framework를 사용하여 커스텀 Picker를 구현할 수 있었다.카메라 또한 AVCaptureSession을 사용하여 커스텀으로 구현할 수 있었다. Photos framework http://rhammer.tistory.com/229AVCaptureSession http://rhammer.tistory.com/231 2. Push, Pop, Present, Dismiss 커스텀 트랜지션 구현 Custom Transition http://rhammer.tistory.com/259 3. Co..
-
[DevDiary] Custom Transition & CoreAnimation앱등이에게 살충제를 뿌린다./일기는 일기장에 2017. 6. 24. 10:08
막바지에 다다르고 있는 프로젝트에서 UI Animation을 많이 경험할 수 있었다.사내에 Animation를 통해 UX/UI를 연구하는 부서가 있다보니 디테일한 요구사항이 많았고, 굉장히 이쁜 결과물을 얻을 수 있었다. 1. Push/Pop/Present 애니메이션처음에는 굉장히 어려워 보였지만, UIViewControllerAnimatedTransitioning를 Implement하는 방법을 안다면 어떤 트랜지션효과도 무섭지가 않다. Present를 위한 트랜지션은 func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, source..