我正在尝试将数据添加到我的模型“Word”中,当我按下与功能“addWord”连接的按钮时。之后我得到了错误
致命错误:找不到当前活动的 Word 容器
这是我的代码
型号:
import SwiftData
@Model
class Word {
var title: String
var response: String
var translate: String
init(title: String, response: String, translate: String) {
self.title = title
self.response = response
self.translate = translate
}
}
模型容器:
import SwiftUI
import SwiftData
@main
struct GPTApp: App {
var body: some Scene {
WindowGroup {
ContentViev()
}
.modelContainer(for: Word.self)
}
}
我如何添加数据并且不会忘记放置模型上下文:
struct ContentViev: View {
@Environment (\.modelContext) var modelContext
func addword(){
let word = Word(title: "123", response: "123", translate: "123")
modelContext.insert(word)
}
您还需要在 GPTApp 中声明
ModelContainer
,然后将其注入到 WindowGroup 中,如下所示:
@main
struct GPTApp: App {
let container: ModelContainer
init() {
do {
container = try ModelContainer(for: Word.self)
} catch {
fatalError("Could not initialize ModelContainer")
}
}
var body: some Scene {
WindowGroup {
...
}
.modelContainer(container)
}
}