์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- MVVM
- RxSwift
- realm
- Kuring
- Swfit
- UIKit
- BOJ
- Lv2
- rxcocoa
- tableView
- raywenderlich
- ios
- TCA
- SnapKit
- designpattern
- visionOS
- arkit
- node.js
- Xcode
- ํจ์คํธ์บ ํผ์ค
- XCTest
- ํ๋ก๊ทธ๋๋จธ์ค
- combine
- ๋ฐฑ์ค
- BFS
- CollectionView
- SwiftUI
- swift
- Flutter
- reactorkit
- Today
- Total
๋ชฉ๋กapple/๐ฆ UIKit & ReactiveX (35)
lgvv98
โ ์ด๋ฒ ๊ธ์ RxSwift ch18์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค. โ ๋ชฉ์ฐจ 1๏ธโฃ BaseView ๋ง๋ค์ด๋ณด๊ธฐ 2๏ธโฃ modelSelected ์ฌ์ฉ๋ฒ 3๏ธโฃ Mutiple Cell Types โ BaseView ๋ง๋ค์ด๋ณด๊ธฐ ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ ๊ฐ์ UI๋ ์ฌ๋ฌ๊ฐ์ ๋ทฐ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์์ด. ํ์ง๋ง ์ด์ ์๋ ์ด ๋ฐฉ๋ฒ์ ๋ชฐ๋ผ์ ๊ทธ๋ฅ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ก ์ฌ์ฉํ์๋๋ฐ, ์ด๋ฒ์ ๊ฐ๋ฐํ๋ค๋ณด๋ BaseView๋ฅผ ๋์ด ์ฌ์ฉํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํด์ ๋ง๋ค์ด ๋ณด์์ด. ๐ BaseView import UIKit import RxCocoa import RxSwift import SnapKit import Then struct BaseView { var tableView = UITableView().then { $0.backgroundC..
โ ์ด๋ฒ์๊ฐ์๋ WebSocket์ด๋ Starscream์ RxDelegateProxy๋ก ๋ง๋๋ ์ฝ๋๋ฅผ ๋ณต์ตํ ์์ ์ด์ผ. RxStarscream์ ๊ฒฝ์ฐ๋ ๊ด๋ฆฌ๊ฐ ๋๊ณ ์์ง ์์์ ์ด๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ rx์ ๋ฒ์ ์ 3.x๋ก ๋ด๋ ค๊ฐ๊ฒ ๋๋ฉด์ rx ์์ฒด๋ฅผ ์ ๋๋ก ์ฌ์ฉํ ์ ์๊ธฐ์ ์ด ๋ถ๋ถ์ Proxy๋ก ์ปค์คํ ํด์ ์ฌ์ฉํด์ผ๋ง ํ์ด. โ๏ธ ํ๊ฒฝ Xcode 13.0 Swift 5 Pod - Differentiator (3.1.0) - RxCocoa (4.5.0): - RxSwift (>= 4.4.2, ~> 4.4) - RxDataSources (3.1.0): - Differentiator (~> 3.0) - RxCocoa (~> 4.0) - RxSwift (~> 4.0) - RxSwift (4.5.0) - SnapK..
โ ์ด๋ฒ ์๊ฐ์๋ extension Reactive์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์ฐ๋ฆฌ๊ฐ ์ค์นํ RxSwfit ์์๋ Reactive.swift ํ์ผ์ด ์๋๋ฐ, custom point๋ก ์ฌ์ฉํ๋ผ๊ณ ํ๋ค. ๐ Reactive.swift Use `Reactive` proxy as customization point for constrained protocol extensions. General pattern would be: // 1. Extend Reactive protocol with constrain on Base // Read as: Reactive Extension where Base is a SomeType extension Reactive where Base: SomeType { // 2. Put ..
โ ์ด๋ฒ ์๊ฐ์๋ RxDelegateProxy์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ๊ธฐ์กด์ ์์ฑํ ์ฝ๋๋ objc๋ก protocol์ด ๊ตฌํ๋์ด ์์ด์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์์ง๋ง, ๊ทธ๋ฐ๋ฐ.. protocol objc๊ฐ ์๋๋ผ๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? ์ ์ด ๋ถ๋ถ์์ ๋ด๊ฐ ์์ฒญ๋๊ฒ ... ์๊ฐ์ ๋ง์ด ... ๋ค์ฌ์ ๊ณต๋ถ๋ฅผ ํ ๋ถ๋ถ์ด์ผ. ์ฐ์ Apple ์์ฒด์์ ์ง์ํด์ฃผ๋ ๊ฒ๋ค์ NSObjectProtocol๋ฅผ ์์๋ฐ๊ณ ์์ด์ ์ฐ๋ฆฌ๋ ์ฝ๊ฒ objc๋ก ์ฌ์ฉํ ์ ์์ด. ํ์ง๋ง ์ธ๋ถ์์ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ ์ค์๋ objc๋ฅผ ์ฌ์ฉํ ์ ์์ด์ proxy๋ฅผ ๋ง๋๋๋ฐ์ ์ ๋ฅผ ๋จน๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, ํนํ Starscream์ด ๊ทธ๋ ๊ฒ ๊ตฌํ๋์ด ์์ง ์์์ ๊ณ ๋ฏผ์ ํด์ผํ์ง โ ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ๊ตฌํํ ์ ์์๊น? ๋ด๊ฐ ์๊ฐํ ๋๊ฐ์ง ์ค๊ณ ๋ฐฉ๋ฒ ..
โ ์ด๋ฒ ์๊ฐ์๋ RxDelegateProxy์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์ฌ.๊ธฐ.๋ถ.๋ถ.์!! ๋ด๊ฐ ์์ฒญ๋ ์ฝ์ง(?)์ ํ๋ฉด์ ๋ด๋ถ์ฝ๋๊น์ง ๋ค ๋ฏ์ด๋ณด๋ฉด์ ์๊ฒ๋ ๋ถ๋ถ์ด๋ผ ์ง์ง ์ค์ค๋ก... ๊ทผ๋ฐ ์ด๋ก ๋ถ๋ถ์ ํ์คํ ์๊ฒ ๋๋ฐ, "๊ทธ๋์ ์ค์ ํ๋ก์ ํธ์ ์ด๋ป๊ฒ ์ ์ฉํ ๊ฑด๋ฐ?" ๋ผ๊ณ ๋ฌผ์ผ์ ๋ค๋ฉด ๐ฅฒ MVVM ํจํด์ ๊ณ ๋ คํด์ ์ ์ฉํ๋ ์ผ์ด ์๊ฐ๋ณด๋ค ์ฌ์ด ์ผ์ ์๋์ผ ใ ใ ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ง ๋ง์ ๊ธ๋ค์ ์ฐธ๊ณ ํ์๋๋ฐ, ์ ์ผ ์๋์ (์ฐธ๊ณ )๋ฅผ ๋จ๊ฒจ ๋๋๋ก ํ ๊ฒ โ ๋ชฉ์ฐจ 1๏ธโฃ Protocol๊ณผ Delegate 2๏ธโฃ RxDelegateProxy GuideLine 3๏ธโฃ RxDelegateProxy example -> ํ๋จ์ ์ฐธ๊ณ ๋งํฌ ๊ฑธ์ด๋ ! ์ด ๋ถ๋ถ์ ๊ธฐ์กด ํ์ผ์ ์กฐ๊ธ ๋ rx์ค๋ฝ๊ฒ ๊ฐํธํด ๋ณด์์! ๐ ๊ฐํธํ ์ฝ๋ ..
โ ์ด๋ฒ ์๊ฐ์๋ starscream์ฌ์ฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ์ง๋ ์๊ฐ์ RxStarscream์ ๊ณต๋ถํ์๋๋ฐ, ๊ถ๊ธํ๋ค๋ฉด ๊ฐ์ ์นดํ ๊ณ ๋ฆฌ์ ์๋ RxStarscream์ ๋ด๋ ์ข์. starscream์ด ๋ฌด์์ด๋๋ฉด websokcet์ ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ฃผ๋ ํ๋ ์์ํฌ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ! โ starscream github https://github.com/daltoniam/Starscream GitHub - daltoniam/Starscream: Websockets in swift for iOS and OSX Websockets in swift for iOS and OSX. Contribute to daltoniam/Starscream development by creating..