Warum zeigt SwiftData leere Eigenschaften ohne Werte für Objekte an, die von CloudKit abgerufen wurden?IOS

Programmierung für iOS
Anonymous
 Warum zeigt SwiftData leere Eigenschaften ohne Werte für Objekte an, die von CloudKit abgerufen wurden?

Post by Anonymous »

Dies ist meine Definition des Modells für SwiftData: < /p>

Code: Select all

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>
Einfach und nichts kompliziertes. Im Cloudkit habe ich 20 Modelle, und Territory und Territorygroup haben noch einige weitere Eigenschaften in Cloudkit gespeichert. Ich weiß nicht, ob es wichtig ist, aber ich habe nur zwei davon abgebildet, um zu überprüfen, wie es funktioniert. Ich bin mir im CloudKit -Geschäft ziemlich sicher, dass es ein TerritoryGroup -Objekt und 9 Territory 
Objekte gibt.

Code: Select all

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>
Wie zeige ich das in meiner App an? < /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")
}
}
}
}
und das Ergebnis lautet:

Einfach einfach zeigt es Default -Werte an. Warum? Ich bin mir nicht sicher, ob es mehr benötigt wird, aber es ist. Natürlich mit allen 20 Entitäten

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post