问题描述
在使用Core Data的SwiftUI项目的Xcode 12模板中,Apple提供了以下代码:
import SwiftUI
@main
struct CoreDataApp: App {
let persistenceController = PersistenceController.shared
var body: some Scene {
WindowGroup {
ContentView()
.environment(\.managedobjectContext,persistenceController.container.viewContext)
}
}
}
在这种情况下,persistenceController是一个单例。
下面的代码有什么区别,其中的代码是同时初始化并传递的?为什么我们对单身人士使用常数?
import SwiftUI
@main
struct CoreDataApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.environment(\.managedobjectContext,PersistenceController.shared.container.viewContext)
}
}
}
此外,将此单例提供给环境是否有任何优势?我们不能直接在子视图中使用PersistenceController.shared.container.viewContext
吗?
我之所以问是因为我的应用程序中没有几个服务单例,但是我不想从主App
而是在子视图中对其进行初始化。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)