Код: Выделить всё
@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
}
}
Код: Выделить всё
@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
}
}
Код: Выделить всё
@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)
}
Мне не удалось найти причину и устранить ее (хотя это проблема с получением данных, я считаю, что она связана с тем, как иерархия представлений структурирована), но вместо этого я нашел обходное решение - я сделал вторую модель структурой (идентифицируемая, кодируемая, хешируемая)
Подробнее здесь: https://stackoverflow.com/questions/787 ... -of-models
Мобильная версия