SwiftUI에서 UIKit의 `UINavigationController`로 화면 전환 구현하기
·
iOS/SwiftUI
SwiftUI는 매우 직관적이고 선언적인 UI 구성 방식을 제공하지만, iOS 14 기준으로 제공되는 네비게이션 도구에는 아직 제약이 있어 화면 전환을 보다 유연하게 제어하는 데 어려움을 겪을 수 있습니다. 특히, 복잡한 네비게이션 구조를 필요로 하거나 UIKit에서 제공하는 네비게이션 기능을 활용하고 싶을 때 SwiftUI의 NavigationView와 NavigationLink는 부족한 면이 있습니다. SwiftUI를 통해 프로젝트를 진행하던 중 화면 전환의 어려움을 겪었고, 결국 UIKit의 UINavigationController를 활용해 SwiftUI와 UIKit 네비게이션을 조합하여 구현하는 방식을 도입하게 되었습니다. 이 글에서는 UINavigationController를 SwiftUI에서 ..
SwiftUI에서 RestAPI를 통해 서버의 데이터를 화면에 보여주기
·
iOS/SwiftUI
SwiftUI 앱을 개발하다 보면, RestAPI를 통해 서버에서 데이터를 불러와 화면에 표시해야 할 때가 많습니다. 특히 SwiftUI에서 데이터를 언제, 어떻게 로드할지는 앱의 성능과 사용자 경험에 중요한 영향을 미칩니다. 이 글에서는 MVVM 패턴을 기반으로 **.task {}, .onAppear {}, ViewModel init**의 각각의 데이터 로드 방식을 비교하고, 상황별로 어떤 방법이 더 적합할지 살펴보겠습니다.SwiftUI와 MVVM 패턴 간단히 알아보기 SwiftUI는 MVVM 패턴을 사용하기에 최적화된 프레임워크입니다. MVVM 패턴을 사용하면 UI와 비즈니스 로직을 깔끔하게 분리할 수 있어, 유지보수성이 높아지고 코드가 더욱 직관적이 됩니다. 예제에서 사용할 MVVM 패턴의 구조를 ..
맥 저장 공간 관리: Xcode 캐시 폴더를 외장 SSD로 옮겨 해결하기
·
Mac
M1 맥북 에어 기본형(8GB, 256GB) 모델을 사용하다 보니 어느새 용량의 한계가 느껴졌습니다. 특히, Xcode로 개발 작업을 하다 보면  빌드 데이터와 캐시 파일들이 쌓여서 여유 공간이 빠르게 줄었습니다. 이를 어떻게 하면 적은 비용으로 해결할 수 있을까 고민하다가, 외장 SSD와 심볼릭 링크를 활용하는 방법이 답이 될 수 있겠다는 생각을 하게 되었습니다. 이 글에서는 Xcode의 DerivedData, Archives, iOS DeviceSupport와 같은 주요 폴더를 외장 SSD로 옮겨서 저장 공간을 확보하는 방법을 소개합니다.1. 외장 SSD로 옮길 Xcode의 주요 폴더먼저, Xcode에서 용량을 많이 차지하는 주요 폴더들을 살펴보겠습니다. 이들은 빌드 및 디버깅 데이터와 관련이 있으며..