본문 바로가기

iOS24

[ReactorKit] ReatorKit 살펴보기 새로운 프로젝트를 시작하면서 ReactorKit을 도입하여 개발중에 있는데 . . 이 시점에서 좀 더 꼼꼼히 정리해보고자 합니다 . . ! (최근에 기록의 중요성을 뼈저리게 느껴요 ㅜ) ReactorKit 이란 ? ReactorKit은 View에서 Action이 발생하면 Reactor가 이를 처리하여 State를 업데이트합니다. View에서는 필요한 State를 binding하여 State가 업데이트됨에 따라 View를 업데이트하는 방식입니다. View View에는 어떠한 비즈니스 로직도 존재하지 않습니다. Action을 Reactor에게 넘기고, Reactor의 State들을 구독하고 있는 형태로 이해하면 좋을 것 같습니다. 사용 예시를 코드로 살짝 보도록 하겠습니다. class HomeViewCont.. 2022. 11. 10.
[Swift] stride 함수 / Set 원하는 loop 만들기 : stride 사용 // x부터 y까지 i를 -1해가며 for문 수행 for i in stride(from: x, through: y, by: -1) { // code } Set : 중복 X // 생성 var set = Set() // 추가 set.insert("A") // 포함 여부 set.contains("A") // 비우기 set = [] 2022. 10. 25.
[Swift] Swift 알고리즘 - 수학 제곱 구하기 let value = 3.0// 소수점으로 선언해야 함 pow(value, 2) // 9.0 순열 func permutation(_ arr: [T], _ n: Int) -> [[T]] { var result = [[T]]() if arr.count < n { return result } var visit = Array(repeating: false, count: arr.count) func cycle(_ now: [T]) { if now.count == n { result.append(now) return } for i in 0.. [[T]] { var result = [[T]]() if arr.count < n { return result } func cycle(_ idx: Int, _ n.. 2022. 10. 13.
[RxSwift] Filtering Operators 어느새 .. 2장으로 .. operator들 살펴보러 갑시다 . . ! 다시 한 번 RxSwift: Reactive Programming with Swift 책과 한글로 정리된 github 참고하면서 작성 중입니다. . ! Ignoring operators 1. IgnoreElements() ignoreElements는 .next 이벤트를 무시하고, .completed나 .error 같은 정지 이벤트는 허용합니다. [코드] example(of: "ignoreElements") { let strikes = PublishSubject() let disposeBag = DisposeBag() strikes .ignoreElements() .subscribe { _ in print("You're out!") }.. 2022. 10. 12.
[RxSwift] Subjects 지난 포스팅에서 Observable에 대해서 알아보았는데요 ! 보통의 앱 개발에서 필요한 것은 실시간으로 Observable에 새로운 값을 수동으로 추가하고 subscriber에게 방출하는 방식입니다. 그러므로 Observable이자 Observer인 녀석이 필요하게 되는데 요 녀석을 Subject라고 합니다. Subject의 종류 Subject = Observable + Observer 와 같이 행동합니다. Subject는 .next 이벤트를 받고, 이런 이벤트를 수신할 때마다 subscriber에 방출합니다. RxSwift에는 4가지 타입의 subject가 있습니다. PublishSubject : 빈 상태로 시작하여 새로운 값만을 subscriber에 방출 BehaviorSubject : 하나의 초기.. 2022. 10. 12.