В настоящее время я следую руководству «Взлом с помощью Swift», чтобы интегрировать SwiftData в проект SwiftUI. Код, созданный на основе руководства, представлен ниже. Однако при запуске приложения возникает ошибка: SwiftData/ModelContainer.swift:144: Неустранимая ошибка: не удалось найти активный в данный момент контейнер для Student.
Мне нужна помощь. в решении этой проблемы.
Код: Выделить всё
import SwiftUI
import SwiftData
@Model
class Student {
var id: UUID
var name: String
init(id: UUID, name: String) {
self.id = id
self.name = name
}
}
@main
struct project8App: App {
var body: some Scene {
WindowGroup {
VStack {
ContentView()
}
}
.modelContainer(for: Student.self)
}
}
struct ContentView: View {
@Environment(\.modelContext) var modelContext
@Query var students: [Student]
let allStudents = [
Student(id: UUID(), name: "John"),
Student(id: UUID(), name: "Paul"),
Student(id: UUID(), name: "George"),
Student(id: UUID(), name: "Ringo"),
]
var body: some View {
VStack {
ForEach(students) { student in
Text("\(student.name)")
}
Button(action: {
// random student
let student = allStudents.randomElement()!
modelContext.insert(student)
}) {
Text("Add/Change name")
}
}
}
}
Код: Выделить всё
// version 2, which is ok to run
@main
struct project8App: App {
let modelContainer: ModelContainer
init() {
do {
modelContainer = try ModelContainer(for: Student.self)
} catch {
fatalError("Could not initialize ModelContainer")
}
}
var body: some Scene {
WindowGroup {
VStack {
ContentView()
}
}
.modelContainer(modelContainer)
}
}
Источник: https://stackoverflow.com/questions/777 ... ently-acti