반응형

Hacking with Swift 사이트의 강좌 번역본입니다.

 

[원문 : https://www.hackingwithswift.com/quick-start/swiftui/how-to-access-a-core-data-managed-object-context-from-a-swiftui-view]

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) 프로퍼티를 추가할 필요가 없습니다 - 저장, 삭제, 그외 다른 작업들만 필요합니다.

반응형
Posted by 까칠코더
,