λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
728x90

🍎 iOS/RxSwift6

[iOS/RxSwift] RxDataSource - UITableView, UICollectionView RxSwift μ—μ„œ DataSource λ₯Ό μ„€μ •ν•˜λŠ” 방법을 정리해보렀고 ν•©λ‹ˆλ‹€! UIKit 의 UITableView, UICollectionView λ₯Ό μ΄μš©ν•  λ•Œμ—λŠ” 각 λ¦¬μŠ€νŠΈμ— λŒ€ν•œ 데이터λ₯Ό ν‘œν˜„ν•˜κΈ° μœ„ν•΄ data source λ₯Ό μ§€μ •ν•΄μ€˜μ•Ό ν•˜λŠ”λ°μš”. κΈ°λ³Έμ μœΌλ‘œλŠ” data source ν”„λ‘œν† μ½œμ„ 채택해, λ©”μ†Œλ“œλ₯Ό κ΅¬ν˜„ν•΄ 데이터λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€. RxSwift 와 RxDataSource μ—μ„œλŠ” data source λ©”μ†Œλ“œλ₯Ό 직접 κ΅¬ν˜„ν•˜μ§€ μ•Šκ³  μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ˜€νΌλ ˆμ΄ν„°λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 1. UIKit μ—μ„œ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 2. RxSwift μ—μ„œ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 3. RxDataSource λ₯Ό μ΄μš©ν•΄ data source λ₯Ό μ„€μ •ν•˜λŠ” 방법 1. UIKit .. 2021. 10. 17.
[iOS] MVVM & RxSwift μŠ€ν„°λ”” W2 - TableView bind items, modelSelected, cell prepareForReuse [iOS] MVVM & RxSwift μŠ€ν„°λ”” W2 - TableView λ§Œλ“€μ–΄λ³΄κΈ° iamchiwon/RxSwift_In_4_Hours RxSwift, 4μ‹œκ°„ μ•ˆμ— λΉ λ₯΄κ²Œ μ΅ν˜€ 싀무에 μ‚¬μš©ν•˜κΈ°. Contribute to iamchiwon/RxSwift_In_4_Hours development by creating an account on GitHub. github.com κ³°νŠ€κΉ€λ‹˜ κ°•μ˜ μ˜μƒμ˜.. jellysong.tistory.com κ³°νŠ€κΉ€λ‹˜ RxSwift κ°•μ˜ 쀑 step1 을 MVVM + TableView 둜 λ°”κΏ”λ³Έ μœ„μ˜ ν¬μŠ€νŒ…μ—μ„œ View Controller μ—μ„œμ˜ 데이터바인딩, TableViewCell μ—μ„œ 이미지 처리λ₯Ό λ”°λ‘œ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€! 1 ListViewController / 2 Detai.. 2021. 7. 15.
[iOS] MVVM & RxSwift μŠ€ν„°λ”” W2 - TableView λ§Œλ“€μ–΄λ³΄κΈ° iamchiwon/RxSwift_In_4_Hours RxSwift, 4μ‹œκ°„ μ•ˆμ— λΉ λ₯΄κ²Œ μ΅ν˜€ 싀무에 μ‚¬μš©ν•˜κΈ°. Contribute to iamchiwon/RxSwift_In_4_Hours development by creating an account on GitHub. github.com κ³°νŠ€κΉ€λ‹˜ κ°•μ˜ μ˜μƒμ˜ μ½”λ“œλŠ” step1 ~ 4 κΉŒμ§€ μžˆλŠ”λ°μš”. step1 은 JSON νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜λŠ” μž‘μ—…μ„ λΉ„λ™κΈ°λ‘œ μ²˜λ¦¬ν•˜κ³  이λ₯Ό editView 에 λ„μ›Œμ£ΌλŠ” 것이고. step2 λŠ” step1 κ³Ό 같은 JSON νŒŒμΌμ„ tableView 둜 λ³΄μ—¬μ£ΌλŠ” μ½”λ“œμ—μš”. κ°•μ˜μ—μ„œ step2 λŠ” νŒ¨μŠ€ν•˜μ…”μ„œ 이λ₯Ό μ—°μŠ΅ν•΄λ΄€μŠ΅λ‹ˆλ‹Ή 🧐 πŸ‘€ MVVM + RxSwift TableView 예제 step2 μ™„μ„± μ½”λ“œμ—μ„œλŠ” 타이머와 LOAD 버.. 2021. 7. 15.
[iOS] RxSwift - Subject vs Observable κ³°νŠ€κΉ€λ‹˜ κ°•μ˜ [3κ΅μ‹œ] RxSwift ν™œμš©λ²”μœ„ λ„“νžˆκΈ°μ— ν•΄λ‹Ήν•˜λŠ” λ‚΄μš©μž…λ‹ˆλ‹€! πŸ’‘ RxSwift - Observable vs Subject Observable 은 μ–΄λ–€ 데이터λ₯Ό 내보내야할지 미리 정해진 ν˜•νƒœμ˜ μŠ€νŠΈλ¦Όμ΄λ‹€. create ν•˜λŠ” μ‹œμ λΆ€ν„° 값이 μ •ν•΄μ Έμžˆκ³ , 쀑간에 데이터 값을 λ³€κ²½ν•  수 μ—†λ‹€. λ²„νŠΌ μ‘°μž‘μœΌλ‘œ 데이터 값을 λ³€κ²½ν•΄μ•Όν•˜λŠ” λ“±μ˜ μƒν™©μ—μ„œλŠ” Observable λŒ€μ‹  Subject λ₯Ό μ΄μš©ν•˜λ©΄ λœλ‹€. Subject λŠ” Observable μ™ΈλΆ€μ—μ„œ 데이터λ₯Ό 넣어쀄 μˆ˜λ„ 있고, ꡬ독할 μˆ˜λ„ μžˆλŠ” μ–‘λ°©ν–₯성을 가진 νƒ€μž…μ΄λ‹€! Subject λŠ” 일반 Observable 처럼 subscribe ν•˜μ—¬ event λ₯Ό 전달받을 수 있음과 λ”λΆˆμ–΄, Subject μ™ΈλΆ€μ—μ„œ onNext, onCompleted,.. 2021. 7. 14.
[iOS] RxSwift - Observables 생성과 ꡬ독, 생λͺ…μ£ΌκΈ°, operator πŸ’‘ ReacitveX - Observable ReactiveX μ—μ„œ Observer λŠ” Observable 을 subscribe ν•œλ‹€. observer λŠ” Observable 이 λ°©μΆœν•˜λŠ” μ•„μ΄ν…œ (단일 ν˜Ήμ€ μ‹œν€€μŠ€)에 μ‘λ‹΅ν•œλ‹€. 이λ₯Ό 톡해 λ™μ‹œμ„±(concurrency) 연산이 κ°€λŠ₯ν•˜λ‹€. Observable 이 객체λ₯Ό λ°©μΆœν•  λ•ŒκΉŒμ§€ 기닀릴 ν•„μš” 없이, 객체가 방좜되면 κ·Έ μ‹œμ μ„ κ°μ‹œν•˜λŠ” κ΄€μ°°μžλ₯Ό observer 내에 두고, κ·Έλ₯Ό 톡해 μ•Œλ¦Όμ„ λ°›λŠ”λ‹€. βœ”οΈŽ Observer 생성 & ꡬ독 비동기 λͺ¨λΈμ—μ„œλŠ” μ•„λž˜μ™€ 같은 νλ¦„λŒ€λ‘œ μ½”λ“œκ°€ μ‹€ν–‰λœλ‹€. async method 호좜둜 κ²°κ³Όλ₯Ό 리턴받고, ν•„μš”ν•œ λ™μž‘μ„ μ²˜λ¦¬ν•˜λŠ” method λ₯Ό μ •μ˜ν•œλ‹€. * Observer 의 일뢀 Observable 둜 비동기 ν˜ΈμΆœμ„ μ •.. 2021. 7. 11.
[iOS] MVVM & RxSwift μŠ€ν„°λ”” W1 - Observable 생λͺ…주기와 μ“°λ ˆλ“œκ΄€λ¦¬ iamchiwon/RxSwift_In_4_Hours RxSwift, 4μ‹œκ°„ μ•ˆμ— λΉ λ₯΄κ²Œ μ΅ν˜€ 싀무에 μ‚¬μš©ν•˜κΈ°. Contribute to iamchiwon/RxSwift_In_4_Hours development by creating an account on GitHub. github.com κ³°νŠ€κΉ€λ‹˜ κ°•μ˜ μ˜μƒμ„ 보고, μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€! [1κ΅μ‹œ] RxSwift λ₯Ό μ΄μš©ν•œ 비동기 ν”„λ‘œκ·Έλž˜λ° πŸ’‘ RxSwift λŠ” 비동기 μž‘μ—…μ˜ κ²°κ³Όλ₯Ό Completion closure κ°€ μ•„λ‹Œ, ν•¨μˆ˜μ˜ return κ°’μœΌλ‘œ μ „λ‹¬ν•˜κΈ° μœ„ν•œ μœ ν‹Έλ¦¬ν‹° 쀑 ν•˜λ‚˜μ΄λ‹€! πŸ‘€ 비동기 ν”„λ‘œκ·Έλž˜λ°, RxSwift κ°€ μ™œ ν•„μš”ν• κΉŒ? λ„€νŠΈμ›Œν¬ μž‘μ—… λ“± 데이터λ₯Ό λ°›μ•„μ˜€λŠ” 데 μ‹œκ°„μ΄ κ±Έλ¦¬λŠ” μž‘μ—…μ˜ 경우, 비동기 ν”„λ‘œκ·Έλž˜λ°μ΄ ν•„μš”ν•˜λ‹€. 동기(sync).. 2021. 7. 11.
728x90