How to access a Core Data managed object context from a SwiftUI view
SwiftUI/Core Data 2019. 12. 3. 10:50반응형
Hacking with Swift 사이트의 강좌 번역본입니다.
How to access a Core Data managed object context from a SwiftUI view
Core Data와 SwiftUI 설정 지침을 따르는 경우, 이미 관리 객체 컨텍스트가 SwiftUI environment에 추가되어 있습니다.
그렇지 않은 경우, 다음 코드를 scene delegate에 추가해야 합니다.
guard let context = (UIApplication.shared.delegate as? AppDelegate)?.persistentContainer.viewContext else {
fatalError("Unable to read managed object context.")
}
window.rootViewController = UIHostingController(rootView: ContentView().environment(\.managedObjectContext, context))
뷰 컨텍스트를 environment 데이터로 ContentView에 직접 전달하며, ContentView에 @Environment 프로퍼티를 추가해서 관리 객체 컨텍스트를 바로 읽을 수 있다는 의미입니다.
@Environment(\.managedObjectContext) var managedObjectContext
주의 : @FetchRequest를 사용해서 가져오기 요청을 수행하기 위해 관리 객체 컨텍스트에 대한 지역(local) 프로퍼티를 추가할 필요가 없습니다 - 저장, 삭제, 그외 다른 작업들만 필요합니다.
반응형
'SwiftUI > Core Data' 카테고리의 다른 글
How to delete Core Data objects from SwiftUI views (0) | 2019.12.03 |
---|---|
How to add Core Data objects from SwiftUI views (0) | 2019.12.03 |
How to filter Core Data fetch requests using a predicate (0) | 2019.12.03 |
How to create a Core Data fetch request using @FetchRequest (0) | 2019.12.03 |
How to configure Core Data to work with SwiftUI (0) | 2019.12.02 |
Introduction to using Core Data with SwiftUI (0) | 2019.12.02 |