iOS/mvvm + RxSwift 스터디
-
RxSwift - Scan 연산자를 이용하여 무한 스크롤링을 구현하자iOS/mvvm + RxSwift 스터디 2019. 8. 6. 01:56
RxSwift Scan을 이용하여 무한 스크롤링을 함수형답게 구현하기. Scan은 전의 옵저블을 옵저빙하여 새로운 값을 방출하는 옵저버입니다. http://reactivex.io/documentation/operators/scan.html 무한 스크롤링에서는 두 옵저버가 필요합니다. 한 옵저버는 최초 로드 액션입니다. 이 옵저버는 피드를 여러 개 가져오는 액션입니다. 만약 전에 있던 피드가 있는데 로드 옵션이 또 불린다면, 이 옵저버는 전의 피드 값을 덮어씌웁니다. let loadObservable: Observable = PublishSubject().asObserver() 다른 한 옵저버는 추가 로드 옵션입니다. 이 옵저버는 기존에 있던 값에서 피드를 추가적으로 덧붙입니다. let loadMoreOb..
-
RxSwift에서 combineLatest 와 withLatestFrom 차이 이해하기iOS/mvvm + RxSwift 스터디 2019. 3. 3. 17:27
RxSwift에서 combineLatest 와 withLatestFrom 차이 이해하기 참고 자료: https://medium.com/@martinkonicek/rx-combinelatest-vs-withlatestfrom-ccd98cc1cd41 http://adamborek.com/combinelatest-withlatestfrom-zip/ combineLatest 여러 소스 중에서 단 한 가지라도 이벤트를 방출하면, 각각 소스의 맨 마지막 값을 뽑아서 새로운 값을 방출합니다. disposables += Observable.combineLatest( view.onNameChanged(), view.onEmailChanged(), ::AccountInfo) .subscribe { accountInfo -..
-
RxSwift 강좌iOS/mvvm + RxSwift 스터디 2018. 12. 7. 01:19
Testing rxSwift Codehttps://www.raywenderlich.com/7408-testing-your-rxswift-code Avoiding RxSwift Memory Leakshttps://medium.com/@chuck.krutsinger/avoiding-rxswift-memory-leaks-87885bd0023d RxMarblehttp://rxmarbles.com SwiftHub - RxSwift & MVVMhttps://github.com/khoren93/SwiftHub Infinite Scroll and Test Codehttps://gist.github.com/dtartaglia/10bc5eb821c752ad45f281c6f4e3034b
-
-
rxSwift + mvvm 구조로 콜렉션뷰 설계하기 (3)iOS/mvvm + RxSwift 스터디 2018. 12. 5. 23:06
https://sesang06.tistory.com/98 https://sesang06.tistory.com/99 저번 포스트에서 설게한 콜렉션뷰는 섹션별로 나누어져 있지만, 아이템을 지울 때 애니메이션 효과가 안 났습니다. 애니메이션 효과를 나는 콜렉션뷰를 구현해보겠습니다. protocol CodeBlock : Equatable { var codeBlockName : String { get } var codeBlockId : Int { get }}extension CodeBlock { static func == (lhs: Self, rhs: Self) -> Bool { return lhs.codeBlockName == rhs.codeBlockName }} protocol CodeSentence { as..
-
rxSwift + mvvm 구조로 콜렉션뷰 설계하기 (2)iOS/mvvm + RxSwift 스터디 2018. 12. 4. 21:59
https://sesang06.tistory.com/98 전에 포스트했던 콜렉션뷰는 섹션이 하나도 없었습니다.RxDatasource을 임포트해 콜렉션뷰에 섹션을 추가해보겠습니다. protocol CodeBlock : Equatable { var codeBlockName : String { get } var codeBlockId : Int { get } } extension CodeBlock { static func == (lhs: Self, rhs: Self) -> Bool { return lhs.codeBlockName == rhs.codeBlockName } } protocol CodeSentence { associatedtype T var selectedCodeBlocks : Variable { g..
-
rxSwift + mvvm 구조로 콜렉션뷰 설계하기iOS/mvvm + RxSwift 스터디 2018. 12. 4. 18:58
요즘 새로 rxSwift와 mvvm을 학습하고 있습니다.개인적으로 요즘 공부하고 있는 유아이가 '듀오링고' 앱의 문장 완성 기능입니다. 후보군을 누르면 밑 단어 목록에서 애니메이션이 쇽쇽 나와서 문장을 완성하는 UX입니다. 해당 모듈을 콜렉션뷰로 만들어보자 해서 한번 짜 보았습니다. 해당 앱에서 여러 영단어가 모여서 영문장이 됩니다.영단어와 영문장에 해당하는 모델이 필요하므로, 다음과 같이 구현했습니다. protocol CodeBlock : Equatable { var codeBlockName : String { get } var codeBlockId : Int { get }}extension CodeBlock { static func == (lhs: Self, rhs: Self) -> Bool { re..