Swift
-
SwiftData 기본 사용법 Model, ModelContext, Query개발/Swift 2025. 5. 8. 09:03
이번 글에서는 SwiftData의 핵심 요소인 Model, ModelContext, Query의 기본 사용법을 자세히 다룹니다. SwiftData를 활용하여 효율적인 데이터 관리를 시작해 보세요! -------------------------------------------------------------------------------- 엔티티 정의 (Model) SwiftData에서 데이터를 저장하기 위해서는 먼저 엔티티를 정의해야 합니다. @Model 매크로를 사용하여 쉽게 데이터 모델을 생성할 수 있습니다. Identifiable 프로토콜을 채택하는 것이 일반적입니다.@Model final class User: Identifiable { var name: String var email..
-
Tuist활용하여 멀티 모듈 SwiftUI 프로젝트 생성하기개발/Swift 2024. 10. 15. 22:26
https://inf.run/iDaq4 SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처 강의 | 덤벨로퍼 - 인프런덤벨로퍼 | 복잡한 SwiftUI 상태 관리, TCA (The Composable Architecture)로 깔끔하고 견고한 앱을 만드세요. 실전 프로젝트 예제로 핵심만 빠르게 배웁니다. , SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대www.inflearn.com tuist init --platform ios --template swiftuituist init --platform ios --template swiftui 명령어를 사용하여 SwiftUI 용으로 프로젝트를 초기화합니다. 이때, 명령어는 반드시 빈 폴더에서 실행해야 합니다. tuist ..
-
[Swift] ViewController Custom Init (parameter 전달)개발/Swift 2022. 8. 29. 16:35
Modern Collection View 와 MVVM 패턴 가이드 [iOS] Modern Collection View & MVVM 패턴 가이드 - 인프런 | 강의 MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자재로 다룰 수 있게 됩니다., - 강의 소개 | 인프런 www.inflearn.com ViewController Custom Init (parameter) 코드로 UI 를 짜는경우는 이렇게 사용할수있다. init(viewModel: MonitoringViewModel) { self.monitoringViewModel = viewModel super.init(nibName: nil, bundle: nil) }..
-
[Swift] 라이브러리 내부 이미지 관련 오류개발/Swift 2022. 8. 25. 16:32
라이브러리 이미지 관련 오류 두개의 어플리케이션에 중복적으로 사용되는 view 들이 많아 중복되는 view와 관련해 라이브러리를 만들어 두 어플리케이션에서 사용하기로 했다. 그렇게 라이브러리화 작업을 끝낸후 기존 프로젝트에서 이제 더이상 사용하지 않을 image 파일들을 모두 제거하자 image를 찾지 못하는 문제가 생겼다. 그렇다고 image를 다시 넣는것도 문제였다. 다시 넣는다면 App(현재 프로젝트)와 라이브러리에서 모두 image 파일을 가지고있기 떄문이다. 해결은 Bundle을 통해 가능했다. button.setImage(UIImage(named: "buttonImage"), for: .normal) 보통 이렇게 이미지를 사용한다. 이런경우 프로젝트 에서는 프로젝트 의 리소스를 보고 butto..
-
[Swift] ReloadData 호출시 키보드 사라지는 오류개발/Swift 2022. 8. 15. 15:17
ReloadData 호출시 키보드 사라지는 오류 Collection view 에서 데이터를 갱신할떄 reloadData()를 사용한다. textfiled 가 search 되는 시점에 reloadData() 를 호출했었는데 textfield가 editing 되는 시점에 reloadData()를 호출해야하는 요구 사항이 발생했다. 그래서 textEditing 되는 시점에 리스트를 필터링하여 reloadData를 호출했더니 키보드가 사라지는 현상이 발생했다 흔히 textField.resignFirstResponder() 함수가 실행되면 키보드가 사라지는데 해당 함수를 실행시키고 있지는 않았다. 그러므로 reloadData()가 호출되면 firstResponder가 자동으로 바뀌는것같았다. 구글링 이후에 가장 ..