์ ์ฒด ๊ธ179 [LeetCode] 1480 Running Sum of 1d Array ๋ณดํธ๋์ด ์๋ ๊ธ ์ ๋๋ค. 2022. 7. 29. [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 3 (๋ฒํผ ๋๋ฌ์ ํ๋ฉด ์ ํํ๊ธฐ) 2022.07.10 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 1 2022.07.11 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 2 ํด๋น ํํ ๋ฆฌ์ผ์ ์ ๊ธ๊ณผ ์ด์ด์ง๋๋ค! ์ด์ ํฌ์คํ ๊น์ง ๋ณด๊ณ ์ค์ จ๋ค๋ฉด AppCoordinator์์ LanindCoordinator๋ฅผ childCoordinator๋ก ์ถ๊ฐํ๋ฉด์ LandingViewController๋ฅผ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๋ ๊ฒ ๊น์ง ๋์ด ์์๊ฑฐ์์! ์ด๋ฒ ํฌ์คํ ์์๋ view์ ๋ฒํผ์ ๋๋ฌ์ ํ๋ฉด ์ ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. Landing ํ๋ฉด์์ Register(ํ์๊ฐ์ )๊ณผ Login(๋ก๊ทธ์ธ) ํ๋ฉด์ผ๋ก ์ด๋ํ ์ ์๋ค๊ณ .. 2022. 7. 12. [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 2 (childCoordinator๋ก ์ด๋ํ๊ธฐ) 2022.07.10 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 1 ์ ํฌ์คํ ํ์ ์ด์ด์ ํ๋ ํฌ์คํ ์ ๋๋ค ๐๐ป LandingCoordinator AppCoordinator๋ ์ฑ์ ์ฒ์ ์คํํ์ ๋ ์ฒซ ํ๋ฉด์ ์ด๋ค ํ๋ฉด์ผ๋ก ํ ์ง ๋ด๋นํ๋ Coordinator์ ๋๋ค. ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ(dependency)๋ฅผ ์ค๋นํ๊ณ ๋คํธ์ํน์ ์ํ ๊ฐ์ฒด๋ฅผ ์ค์ ํฉ๋๋ค. ์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด AppCoordinator์์ Landing ํ๋ฉด์ ๋ณด์ฌ์ค ์๋ ์๊ณ , ์๋ ๋ก๊ทธ์ธ์ด ๋์ด ์๋ค๋ฉด HomeCoordinator๋ก ์ด๋ํ ์ ์์ต๋๋ค. ์ฐ์ LandingCoordinator์ ์์ฑํ๊ฒ ์ต๋๋ค. import UIKit class LandingCo.. 2022. 7. 11. [Swift] MVVMC ์์ธํ ์์๋ณด๊ธฐ - ํํ ๋ฆฌ์ผ 1 (Coordinator์ AppCoordinator ๊ตฌํํ๊ธฐ) ๊ทธ ๋์ MVVM๊ณผ MVVMC ๊ทธ๋ฆฌ๊ณ Coordinator์ ๋ํด ํฌ์คํ ์ ํ์ต๋๋ค. ํน์ MVVM์ด๋ MVVMC๊ฐ ์์ํ์๋ค๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ์๋ฉด ์ข์๊ฑฐ ๊ฐ์์! ๋ง์ฝ MVVM์ด ๋ญ์ง ์์ธํ ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ๐ 2022.06.04 - [๐ iOS/Architecture Pattern] - [Swift] MVVM ๊ฐ๋จํ๊ฒ ์์๋ณด๊ธฐ MVVM-C๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด ๐ 2022.06.11 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC ๊ฐ๋จํ๊ฒ ์์๋ณด๊ธฐ Coordinator์ ์ญํ์ด ๊ถ๊ธํ๋ค๋ฉด ๐ 2022.06.14 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC์ Coordinator ์์๋ณด๊ธฐ ์ฐ์ MVVMC ๊ตฌํ ๋ฐฉ๋ฒ์ ๊ต์ฅํ ๋ง์ต.. 2022. 7. 10. [iOS/Swift] UIButton in iOS15 WWDC ์ ๋ฆฌ Buttons 4๊ฐ์ง ๊ธฐ๋ณธ style Button configuration config.image ํ๋กํผํฐ์์ ์ง์ ํ ์ด๋ฏธ์ง์ ์์น๋ฅผ imagePlacement๋ฅผ ์ฌ์ฉํ์ฌ ์์น๋ฅผ ์ง์ ํด ์ค ์ ์์ addToCartButton.configurationUpdateHandler = { [unowned self] button in // ์ด๋ฏธ ๋ฒํผ์ ์ง์ ๋์ด ์๋ configuration์ ๋ฐ์์ด var config = button.configuration // ๋ฒํผ์ด highligted ๋ฌ์ ๋ fill์ด๋ฏธ์ง๋ก ์ง์ ํ๊ณ ์๋ ๊ฒฝ์ฐ์๋ outline์ด๋ฏธ์ง๋ฅผ ์ ์ฉ config?.image = button.isHighlighted ? UIImage(systemName: "cart.fill.badge.plus") :.. 2022. 6. 29. [Swift] UIButton ์์ง์ผ๋ก ๋ฐฐ์นํ๊ธฐ with Configuration ์ด๋ ๊ฒ ๊ทธ๋ฆผ๊ณผ ๊ธ์๊ฐ ์์ง์ผ๋ก ๋ฐฐ์น๋๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋๋ฐ ์ด๋ ์๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์์ง ๋ฐฐ์นํ ์ ์๋ค ์ถ์ฒ https://velog.io/@ezidayzi/iOS-UIButton-title-image-align-%ED%95%98%EA%B8%B0 [iOS] UIButton title , image vertical align ํ๊ธฐ UIButton๋ฅผ extesionํด์ ์์ ๋ฃ์ด๋๊ณ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ค.๐ณ velog.io extension UIButton { func alignTextBelow(spacing: CGFloat = 8.0) { guard let image = self.imageView?.image else { return } guard let titleLabel = self.titleLa.. 2022. 6. 28. [iOS/Swift] UICollectionViewCell ์์๋ณด๊ธฐ ๋ณดํธ๋์ด ์๋ ๊ธ ์ ๋๋ค. 2022. 6. 27. [iOS] Notification Service Extension์ Firebase ์ ๋ฆฌ UNNotificationServiceExtension ์๊ฒฉ ํธ์ ๋ ธํฐํผ์ผ์ด์ ์ ์ปจํ ์ธ ๋ฅผ ์์ ํ๋ ๊ฐ์ฒด. ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋๊ธฐ ์ ์ ์ํ๋จ class UNNotificationServiceExtension : NSObject notification service ์ฑ ๊ธฐ๋ฅ ํ์ฅ => ์ฌ์ฉ์์๊ฒ remote notification ์ด ์ ๋ฌ๋๊ธฐ ์ด์ ์ ์ปจํ ์ธ ๋ฅผ ์ปค์คํฐ๋ง์ด์ง ํ ์ ์๋ ๊ธฐ๋ฅ UI๋ฅผ ๊ฐ์ง์ง ์์ notification ์ด ์ฌ์ฉ์์ ๊ธฐ๊ธฐ์ ์ ๋ฌ๋๋ฉด ๋ฐ์นญ๋จ notification ์ ๋ด์ฉ์ ์์ ํ๊ฑฐ๋ ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ๋ค์ด๋ก๋ ๋ฐ์ ์ ์์ผ๋ฉฐ ์ํธํ ํน์ ๋ณตํธํ๋ฅผ ์ํํ ์๋ ์์ silent notification, ์ฌ์ด๋๋ง ์ฌ์์ํค๊ธฐ, ์ฑ ์์ด์ฝ์ ํ์๋๋ ๋ฑ์ง๋ ๋ณ๊ฒฝ ๋ถ๊ฐ UNNotifica.. 2022. 6. 15. [Swift] MVVMC์ Coordinator ์์๋ณด๊ธฐ ๊ธฐ์กด MVVM์์ ํ๋ฉด ์ ํ ๋ก์ง ์ฆ, navigation ๋ก์ง์ ๋งก์ํ๋ Coordinator๊ฐ MVVMC์์ ํต์ฌ์ด์ง ์์๊น ์ถ์ต๋๋ค ๊ทธ๋์ ์ด๋ฒ ํฌ์คํ ์์ Coordinator๊ฐ ๋ฌด์์ด๊ณ Child Coordinator๋ ์ ์ฌ์ฉํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค! ํน์ ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ๊ณต์ ๋ถํ๋๋ ค์!! ๋ง์ฝ MVVMC๊ฐ ์ฒ์์ด๋ผ๋ฉด ์๋ ๊ธ์ ๋จผ์ ๋ณด๊ณ ์ค์๋ฉด ๋์์ด ๋ ๊ฑฐ ๊ฐ์์! 2022.06.11 - [๐ iOS/Architecture Pattern] - [Swift] MVVMC ๊ฐ๋จํ๊ฒ ์์๋ณด๊ธฐ โญ๏ธ ํ๋ฉด ์ ํ์ ๋ด๋นํ๋ Coordinator ์ฐ์ Coordinator๊ฐ ๋ฌด์จ ์ญํ์ ํ๋์ง ์์๋ด ์๋ค! MVC ๋ Massive View Controller๋ผ ๋ถ๋ฆด ๋งํผ ViewController์ ์ญ.. 2022. 6. 14. [Swift] UITextField borderStyle ํ ์คํธ ํ๋ ํ ๋๋ฆฌ ์ค์ UITextField.BorderStyle UITextField์ ํ ๋๋ฆฌ ์ ํ์ ์ค์ ํ ์ ์์ none idTextField.borderStyle = .none default๋ก .none ํ์ ํ ๋๋ฆฌ ์์ญ์ด ์๋ฌด๊ฒ๋ ์ค์ ๋์ง ์์์ฑ ๋ํ๋จ line idTextField.borderStyle = .line ํ ๋๋ฆฌ ์์ญ์ด ํ์ค๋ก ๋ํ๋จ bazel idTextField.borderStyle = .bezel ์ ์ฒด๊ฐ์ด ์๋ ๋ฒ ์ ค ์คํ์ผ๋ก ํ ์คํธ ํ๋ ์์ญ ํ์ ์ ํ์ ์ผ๋ก ๋ฐ์ดํฐ ์ ๋ ฅ์ ๋ฐ๋ ์์ญ์์ ์ฌ์ฉ๋๋ ์คํ์ผ roundedRect idTextField.borderStyle = .roundedRect ๋ผ์ด๋๋ฅผ ๊ฐ์ง ๋ชจ์๋ฆฌ ์คํ์ผ๋ก ํ ์คํธ ํ๋ ์์ญ์ ํ์ํจ idTextField.layer.borderCol.. 2022. 6. 13. [Swift] MVVMC ๊ฐ๋จํ๊ฒ ์์๋ณด๊ธฐ MVVMC ๋ ๊ธฐ์กด MVVM ์ํคํ ์ฒ ํจํด์ Coordinator์ ์ถ๊ฐํ ์กฐํฉ MVVMC, MVVM-C, MVVM Coordinator ํจํด์ด๋ผ๊ณ ๋ ํจ MVVM์์ ํ๋ฉด ์ ํ(navigation) ๊ธฐ๋ฅ์ Coordinator๊ฐ ๋งก์ ์ฒ๋ฆฌํจ MVVM ์ด ์ฒ์์ด๋ผ๋ฉด ๐ 2022.06.07 - [๐ iOS/Architecture Pattern] - [Swift] MVVM ์์ฉํธ MVVM+C ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด ๋ฑ ์ ํด์ ธ ์๋ ๊ฒ์ด ์๋๋ผ Coordinator ์ญํ ์์์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ด ๋ค์ํ๊ฒ ์กด์ฌํ๋๋ผ๊ตฌ์ ์๊ฐ๋ณด๋ค ๋ณต์กํ ๋ถ๋ถ๋ค์ด ๋ง์์ ์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ๋จํ๊ฒ ์ดํด ๋ณด๊ฒ ์ต๋๋ค! ์ฐ์ Coordinator์ ์ญํ ์ดํดํ๊ธฐ! MVVM+C ์ดํด๋ณด๊ธฐ โญ๏ธ Model ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ์ํ .. 2022. 6. 11. [Swift] MVVM ์์ฉํธ RxSwift + MVVM์ ์ฌ์ฉํ๋ค๊ฐ RxSwift๊ฐ ์๋ MVVM์ ์ฌ์ฉํ๋ RxSwift ์ ์ฅ์ ์ด ํ์คํ ๋๊ปด์ง๋๊ฑฐ ๊ฐ์์ ์ ๋ฒ ํฌ์คํ ์์ MVVM์ ๋ํด ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด ๋์๋๋ฐ ๐ 2022.06.04 - [๐ iOS/Architecture Pattern] - [Swift/Architecture] MVVM ์ดํดํ๊ธฐ MVVM์ Model - View - ViewModel๋ก ๋๋๋ ๊ฒ์ด ๋ค๊ฐ ์๋ View์ ViewModel์ ์ํธ ์์ฉ์ ๋ํด์ ๋ ๊น๊ฒ ๋ค๋ค ๋ณผ ํ์๊ฐ ์์ด์ ์ ๋ฆฌํด ๋ณด์์ต๋๋ค ๐ฆ MVC์ ๋ฌธ์ ์ ๊ธฐ์กด MVC์ ๊ฒฝ์ฐ Massive ViewController์ ์ฝ์์ด๋ค~ ๋ผ๋ ๋ง์ด ์์ ์ ๋๋ก ViewController์ ์ญํ์ด ์ปธ์ต๋๋ค UI๋ฅผ ๋ก๋ํ๊ณ ์ฌ์ฉ์์ ์ด๋ฒคํธ๋ฅผ ๋ฐ๊ณ , ๋น์ฆ.. 2022. 6. 7. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 15 ๋ค์