У меня есть 2 модели в моем приложении, Fist (Modela) работает нормально - данные постояны, независимо от того, сколько раз я перезагружаю приложение на симуляторе, но второй (ModelB) иногда теряет данные ИТ, и я вижу ошибки в том, что такая таблица, найденная в отладчике Xcode. Я не понимаю, в чем разница между ними. < /P>
@Model
final class ModelA: Identifiable {
@Attribute(.unique) var id: String
var name: String
init(id: String = UUID().uuidString, name: String) {
self.id = id
self.name = name
}
}
< /code>
@Model
final class ModelB: Identifiable {
@Attribute(.unique) var id: String
var param: String
init(id: String = UUID().uuidString, param: String) {
self.id = id
self.param = param
}
}
< /code>
@main
struct MyApp: App {
var sharedModelContainer: ModelContainer = {
let schema = Schema([
ModelA.self,
ModelB.self
])
let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false)
do {
return try ModelContainer(for: schema, configurations: [modelConfiguration])
} catch {
fatalError("Could not create ModelContainer: \(error)")
}
}()
var body: some Scene {
WindowGroup {
TabView { /* === views === */ }
}.modelContainer(sharedModelContainer)
}
< /code>
upd
I wasn't able to find the root cause and fix it (even though it is data fetch issue I believe it relates to how view hierarchy is structured), but I found workaround instead - I made second model a struct (Identifiable, Codable, Hashable)
Подробнее здесь: https://stackoverflow.com/questions/787 ... -of-models