728x90 ๐ iOS61 [iOS] ๋ค์ด๋ฒ์ง๋ ์ฑ ์ฐ๋ - Place ID ๋ก ์ฑ ์ด๊ธฐ ๋ค๋ฅธ ์ฑ์์ ๋ค์ด๋ฒ ์ง๋๋ฅผ ์ด๊ณ , ํน์ ์์น๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ๋ฒ์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค! ๊ณต์ ๊ฐ์ด๋์ ๋ด์ฉ์ธ๋ฐ, ๋งํฌ ์ด๋์ด ์๋์ด์ ๋ถํธํ ์ ์ด ์๋๋ผ๊ตฌ์ ๐ข ์ผ๋จ "๋ค์ด๋ฒ ์ง๋์ฑ ์คํ" ๋ฒํผ์ ์ ๊ณตํ์ง ์๋๋ค๊ณ ํด์. ํ์ง๋ง, UIButton ์ ์ด์ฉํด ๋ฒํผ์ ์์ฑํ๊ณ URL Scheme ์ ์ฐธ๊ณ ํด์ ๋ค์ด๋ฒ์ง๋๋ก ์ด๋ํ๊ฒ๋ ํ๋ฉด ๋ฉ๋๋ค ๐ ๐ก ์ง๋์ฑ ์ฐ๋ URL Scheme ๋ค์ด๋ฒ ์ง๋ ์ฑ์ ์ด์ด์, ์ด๋ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๋์ ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ๊ฐ์ ์ ํ์ํ์ง ์์์! ์ง๋์ ๋ฉ์ธ ํ์, ์ขํ๊ฐ์ ํตํด ์ด๋ํ๋ ๋ด์ฉ์ด ๋์์๋๋ฐ์. ์ขํ(์๋&๊ฒฝ๋)๋ฅผ ์ด์ฉํด์ ์ง๋๋ฅผ ์ด์ด์ฃผ๋ฉด, ํน์ ์์น์ ์ด๋ฆ์ด ๋ํ๋์ง ์์ต๋๋ค. ์ฅ์ ํ์๋ ์ขํ๋ฅผ ํตํด ํ์ํ๋ ๋ด์ฉ๋ง ์๊ณ , ๋ค์ด๋ฒ์ง๋์์ ๋ฆฌ๋ทฐ, ์์ธ์ ๋ณด๊ฐ ๋ํ๋๋ .. 2021. 7. 16. [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. [iOS] FLO ์ฑ ๊ฐ๋ฐ ์ผ์ง #2. TableView ๋ก ๊ฐ์ฌ ํ๋ฉด ๊ฐ๋ฐํ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค ์ฐ์ต ๊ณผ์ ์ FLO ์ฑ ์๊ตฌ์ฌํญ์ ๋ฐํ์ผ๋ก ๊ฐ๋ฐํ ์ฑ์ ๋๋ค. FLO ์ฑ ๊ฐ๋ฐ ์ผ์ง #1. MVVM ํจํด๊ณผ Data Binding [iOS] FLO ์ฑ ๊ฐ๋ฐ ์ผ์ง #2. TableView ๋ก ๊ฐ์ฌ ํ๋ฉด ๊ฐ๋ฐํ๊ธฐ ์ด๋ฒ ๊ฐ๋ฐ ์ผ์ง๋ ์ ์ฒด ๊ฐ์ฌ ๋ณด๊ธฐ ํ๋ฉด์ ๊ฐ๋ฐํ๋ฉด์ TableView ๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํ๋์ง์ ๋ํด ์์ฑํด๋ณผ๊ฒ์! ์๋ ์์๋ก ์์ฑํ์ต๋๋ค 1. ๋ฌธ์์ด์ ๊ฐ์ฌ๋ฅผ ๋์ ๋๋ฆฌ๋ก ๋ณํํ๊ธฐ 2. TableView ๋ก ์ ์ฒด ๊ฐ์ฌ ํ๋ฉด UI ๊ฐ๋ฐํ๊ธฐ 3. Music Player ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ์ฌ๊ฐ ๋ณ๊ฒฝ๋๋๋ก ํ๊ธฐ * Issue :: Observer ๋ฅผ ๋ฑ๋กํ๊ณ ํ๋ฉด์ด ์ข ๋ฃ๋ ๋ ํด์ ํด์ฃผ์ง ์์ ๊ฐ์ฌ ์ฑํฌ๊ฐ ๋ง์ง์๋ ์ด์๊ฐ ๋ฐ์ (ํด๊ฒฐ) 4. TableView ๋ก ํน์ ๊ฐ์ฌ ํฐ์น ์ ํด๋น ๊ตฌ๊ฐ.. 2021. 6. 30. [iOS] FLO ์ฑ ๊ฐ๋ฐ ์ผ์ง #1. MVVM ํจํด๊ณผ Data Binding ํ๋ก๊ทธ๋๋จธ์ค ๊ณผ์ ๊ด์ FLO ๋ฎค์ง ํ๋ ์ด์ด iOS ์ฑ ์ฐ์ต ๊ณผ์ ๊ฐ ์์ด์, ์ด๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ์ ์ฉํ ๊ฒ์ด๋ ๋ฐ์ํ๋ ์ด์๋ค์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋๋ก ํ ๊ฒ์! ํด๋น ์ฑ์ ๊ฐ๋ฐํ๊ธฐ๋ก ํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. ์ ํด์ง ์ฑ์ ๊ฐ๋ฐ ํ๊ฒฝ, ํ๋ฉด ๊ตฌ์ฑ ์์, ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ๋ง์ถฐ ๊ฐ๋ฐํ๊ธฐ ์ํด์ 2. ๋น๊ต์ ์์ ๊ท๋ชจ์ ์ฑ์์ MVVM ํจํด์ ์ ์ฉํด๋ณด๊ธฐ ์ํด์ 3. ๋ถ์คํธ์ฝ์ค 1๊ฐ์์ ํ์ตํ ์์ ํ๋ ์ด์ด์ ์ฐ์ฅ์ ์ผ๋ก ํ์ตํ๊ธฐ ์ํด์ ๐ต Demo ์์ (iPhone 11, iOS14.5) โ๏ธ FLO ์ฑ์ ์์ ์ฌ์ ํ๋ฉด์์ MVVM ํจํด ์ ์ฉํ๊ธฐ ๐ก MVVM ํจํด์ ๊ธฐ๋ณธ ๋ฃฐ 1. View (View Controller)๋ View Model ์ ๊ฐ์ง๊ณ , View Model ์ Model ์ ๊ฐ์ง๋ค. 2. Vie.. 2021. 6. 29. [iOS] MVC ํจํด (Model - View - Controller) ๋์์ธํจํด ์ค ์ฑ ๊ฐ๋ฐ์ ์ ์ฉ๋๋ MVC(Model-View-Controller) ํจํด์ ๋ํด ์ ๋ฆฌํด๋ณด์! iOS ์ฑ ํ๋ก๊ทธ๋๋ฐ ๋ถ์คํธ์ฝ์ค ๋ฌด๋ฃ ๊ฐ์ www.boostcourse.org 1์ฅ์์ ์์ ์ฌ์ ์ฑ์ ๋ง๋ค๋ฉด์ ์๋์ ๋ด์ฉ๋ค์ ํ์ตํ์ต๋๋ค. ์์ (Asset) - ์ฑ ์์ด์ฝ, ์ด๋ฏธ์ง ํ์ผ, ๋ฐ์ดํฐ ํ์ผ์ ๊ด๋ฆฌ, ์ฑ ์คํ์ ํ์ผ์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ๋์์ค๋ค. ์ฑ ์๋(App thinning)๊ณผ ์ฑ ์ฌ๋ผ์ด์ฑ(App slicing) - ๋ค์ํ ๋๋ฐ์ด์ค์์ ๋น ๋ฅด๊ฒ ๋ค์ด๋ก๋ํ ์ ์๋๋ก ํ๋ ์ต์ ํ ๊ธฐ์ Cocoa Touch, UIKit, Foundation - iOS ์ฑ ๊ฐ๋ฐ์ ํ์ํ ํ๋ ์์ํฌ Autolayout ์ ์ ์ฉํ๋ฉฐ UI๋ฅผ ๊ฐ๋ฐํ๋ ๋ฒ - ์ธํฐํ์ด์ค ๋น๋ vs ์ฝ๋๋ก ์์ฑ iOS์ View.. 2021. 6. 18. ์ด์ 1 2 3 4 5 6 7 ๋ค์ 728x90