본문 바로가기

전체 글

(207)
[니카내카] 업데이트 사항 (version 1.2.2) 조금씩 업데이트를 하고 있는데 .. 티스토리에 글을 너무 안쓴 것 같아 .. 적어보는 중 .. 후 .. 미루지 말자 .. ! 코드 개선 Diffable Data Source, Compostional Layout 적용 설정 화면과 주차장 상세 화면을 새로운 CollectionView API로 코드개선, 적용해보았다. 흐름만 잘 잡고 있으면 생각보다 쉽지만 .. 아무래도 이전 방식이 더 익숙하다 보니까 ... 좀 더 유연하고 자유롭게 쓰기엔 아직은 어색하다고 느꼈다 .. 아직 아래 두가지가 조금 어려운? 익숙하지 않은? 느낌인데 .. 좀 더 공부하고 정리해봐야겠다 .. ! 🔥 Compositional Layout은 item, group으로 레이아웃을 잡는데 이것들의 관계 .. 그리고 좀 더 다양한 레이아웃을..
[🌱SeSAC] Observable/Observer, Subject, Relay Observable & Observer 데이터를 변경해줄 수 있는 이벤트가 있고, 이 이벤트에 따라서 변경되는 뷰, 로직이 있다. 즉, 이벤트를 방출할 수 있는 Observable이 있고, 이벤트를 처리하는 Observer가 있다. Observable과 Observer를 통해 데이터의 흐름(= Stream)을 통제할 수 있고 Operator를 통해 Stream을 변경, 조작할 수 있다. 사용자에게 텍스트 필드로 입력값을 받아서, 해당 입력값을 닉네임을 지정한다고 할 때, 그림으로 표현하면 아래와 같다. 그리고 코드로 구현하면 아래와 같이 작성할 수 있다. simpleTextField.rx.text .orEmpty .withUnretained(self) .bind { vc, value in vc.nickn..
[🔥Rx뿌셔] Subject VS Observable Subject VS Observable Subject는 Observable과 Observer의 역할을 모두 할 수 있는 Observable이라고 생각하면 된다. Observable이나 Subject모두 이벤트를 emit하므로 subscribe 할 수 있다. 다만, subscribe에서 차이가 발생하는데, Subject는 multicast 방식이므로 여러 개의 Observer를 subscribe할 수 있다. 단순 Observable은 unicast 방식이므로 observer 하나만을 subscribe할 수 있다. Observable - unicast let observableInt = Observable.create { observer in observer.onNext(Int.random(in: 1...1..
[🌱SeSAC] Disposable, Observable, Subject Disposable Disposable은 subscribe 중인(= 구독중인) stream을 원하는 시기에 처리할 수 있도록 도와준다. 모든 Observable은 Disposable을 반환한다. 이를 통해서 stream을 종료하고 실행되고 있던 시퀀스를 모두 종료한다. Observable의 next 이벤트 emit이 끝나면, (= 모든 이벤트가 방출되면) completed에서 disposed로 시퀀스가 정상적으로 종료된다. 하지만, interval 코드 등과 같이 별다른 조건 없이 무한하게 emit 될 수 있는 상황에서는 disposed 되지 않는다. 클래스의 메모리가 해제되는 시점, 즉 deinit이 되는 시점에서 disposable이 되지만, 만약 (루트 뷰가 변하지 않는 상황에서의) RootView..
[iOS] Unsplash Search photos (feat.MVVM, Rx, CollectionViewAPI) + 코드 수정 우하하!!! 다 적용해보자!!! 사실 이게 맞는 방법인지는 잘 모르겠지만 .. 일단 가보자고 .. ~ https://unsplash.com/documentation#search-photos Unsplash API Documentation | Free HD Photo API | Unsplash Getting started This document describes the resources that make up the official Unsplash JSON API. If you have any problems or requests, please contact our API team. Creating a developer account To access the Unsplash API, first join...
[🔥Rx뿌셔] Disposable dispose .. disposeBag .. 뭣이 중헌디 .. Observable을 구독할 때 필수로 사용해야 하는 dispose와 disposeBag에 대해서 알아보자 !!! 왜 알아야 하는데?! 다 피가 되고 .. 살이 된다 .. Rx로 코드를 작성하다 보면, 방출된 이벤트를 처리할 때 dispose를 하지 않을 시 아래 이미지와 같은 경고 메시지가 발생하는 것을 볼 수 있다. 물론 그냥 .. 경고 메시지니까 .. 실행에는 큰 문제가 없을 것이라고 판단하여 넘어갈 수 있지만 .. 그렇지 않다 !!! 경고 메시지를 보게 되면 우리가 어떤 Observable을 .subscribe를 통해 구독하게 되면 해당 Observable은 Disposable을 반환한다. 위의 이미지에서 볼 수 있는 것처럼 subsc..
[🔥Rx뿌셔] Subscribe Observable에서 이벤트를 방출하면 이를 구독하고 있는 Observer가 해당 이벤트에 대한 처리를 한다. 이때 구독을 어떻게 하는가? .. 바로 subscribe 메서드를 통해서 할 수 있다. 🔔 구독 좋아요 알림 설정까지 ~ 가 아니고 .. 구독을 의미하는 메서드가 위에서 말한 것과 같이 바로 subscribe 이다. 어떤 Observable을 subscribe하려고 하면 아래와 같이 Observable이 방출하는 이벤트에 대해서 처리할 수 있도록 함수가 나온다. 그리고 해당 자동 완성된 메서드를 받아오면, 위와 같이 Observable에서 방출한 아이템에 대한 처리를 할 수 있다. 만약 제대로 이벤트가 방출되어 온다면, 첫번째 코드블럭으로 이벤트가 들어가게 되고 이 코드 블럭이 실행된다. 그러..
[🔥Rx뿌셔] Observable Rx의 핵심 개념은 유튜버와 구독자의 관계를 생각하면 된다. 구독자들이 어떠한 Observable이라는 유튜버를 구독하고 유튜버가 영상을 올리면, 즉 이벤트를 방출하면 이를 감지해서 지금 시청하거나 보관함에 넣거나 등의 액션을 취하는 것이다. Observable이란? 사전적인 의미는 관찰 가능한 이라는 의미를 갖고 있다. Observable이 이벤트를 방출하고 구독자가 이 이벤트를 관찰할 수 있다.는 것에서 그 의미를 찾을 수 있다. (시간의 흐름에 따라서 이벤트를 관찰할 수 있다.) Event Type Observable이 방출하는 이벤트에는 크게 네 가지 타입이 존재한다. 이 네가지 타입에 대해 Observable을 구독한 구독자는 이벤트를 전달받고 각 상황에 따라서 액션을 취하게 된다. onNext..