Почему SwiftData отображает пустые свойства без значений для объектов, извлеченных из CloudKit?IOS

Программируем под IOS
Anonymous
Почему SwiftData отображает пустые свойства без значений для объектов, извлеченных из CloudKit?

Сообщение Anonymous »

Это мое определение модели для SwiftData: < /p>

Код: Выделить всё

import SwiftData

@Model
class TerritoryGroup {
var name: String?
var territories: [Territory]?
init(name: String) {
self.name = name
}
}

@Model
class Territory {
var name: String?
var territoryGroup: TerritoryGroup?
init(name: String) {
self.name = name
}
}
< /code>
просто и ничего сложного. В Cloudkit у меня 20 моделей, а территория и территория - еще несколько свойств, сохраненных в Cloudkit. Я не знаю, имеет ли это значение, но я просто наметил два из них, чтобы проверить, как это работает. Я почти уверен в магазине Cloudkit, есть один объект территории и 9 Territory 
объектов.

Код: Выделить всё

import SwiftData
import SwiftUI

@main
struct FieldService: App {
var sharedModelContainer: ModelContainer = {
let schema = Schema([
TerritoryGroup.self,
Territory.self,
])
let modelConfiguration = ModelConfiguration(schema: schema, isStoredInMemoryOnly: false)

do {
return try ModelContainer(for: schema, configurations: [modelConfiguration])
} catch {
fatalError("Could not create ModelContainer: \(error)")
}
}()
@UIApplicationDelegateAdaptor(ApplicationDelegate.self) var viewappDelegate

var body: some Scene {
WindowGroup {
StartView()
}
.modelContainer(sharedModelContainer)
}
}
< /code>
Как отобразить это в моем приложении? < /p>
import CoreLocation
import SwiftUI

struct StartView: View {
@Environment(\.modelContext) private var modelContext
@Query private var territoryGroups: [TerritoryGroup]
@Query private var territories: [Territory]
var body: some View {
List{
ForEach (territoryGroups) { item in
Text(item.name ?? "abc")
}
ForEach (territories) { item in
Text(item.name ?? "def")
}
}
}
}
и результат:

Так что он отображает значения дефолта, а не реальные. Почему? Я не уверен, нужно ли это больше, но это так. Конечно со всеми 20 объектами

Подробнее здесь: https://stackoverflow.com/questions/795 ... tched-from

Вернуться в «IOS»