ich auf eine seltsame Sache stolperte, wenn sie versuchen, ein Objekt aus meinem Reich (iOS, Swift, Realm Version 0.98.2)Realm Objekteigenschaft verfehlt seinen Wert, aber ich kann es sehen, wenn das Drucken des gesamten Objekts
print("speaker:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!)
zu holen
Dumps korrekt mein Objekt in der Konsole:
speaker:
FavoriteSpeaker {
name = Ashley Nelson-Hornstein;
}
Aber wenn ich versuche, die name
Eigenschaft Wert zu erhalten:
print("speaker name:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker).first!.name)
Ich erhalte eine leere Zeichenfolge
speaker name:
Die vier Linien sind zusammen in meinem Modell init
Methode
Update 1: Ich fand eine Antwort, dass Sie nur nicht sehen, schlägt die Werte, wenn in der Konsole gedruckt: Realm object is missing all properties except primaryKey, aber ich habe auch versucht, die name
Eigenschaft über eine Warnmeldung anzuzeigen, und das ist auch leer.
Update 2: Nur um sicher zu machen, dass alles dies tat ich der Reihe nach und auf dem gleichen Thread passiert:
istlet favorite1 = FavoriteSpeaker()
favorite1.name = "Debbie Downer"
try! RealmProvider.appRealm.write {
RealmProvider.appRealm.deleteAll()
RealmProvider.appRealm.add(favorite1)
}
print("speaker:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker.self).first!)
print("speaker name:")
print(RealmProvider.appRealm.objects(FavoriteSpeaker.self).first!.name)
Aber das Ergebnis das gleiche - Druck name
druckt eine leere Zeichenfolge
In der Tat war das das Problem, danke! Das bringt mich zum Nachdenken - es muss einen Weg für Realm geben, dies beim Start zu überprüfen, Swift hat eine Art introspektionistische Fähigkeiten ... –
Wir haben versucht, einen Weg zu finden, nach nicht-dynamischen Eigenschaften zu suchen, aber es scheint nicht möglich zu sein, da es nicht direkt verfügbar ist und Mirror die Dinge nicht auf dieselbe Weise liest wie die Eigenschaft. –
das ist schade, weil dieses Problem garantiert immer wieder erscheinen wird. Alle meine Objekte hatten ihre Eigenschaften dynamisch, aber dieses bestimmte Objekt, weil ich mich entschieden habe, es zuletzt und in Eile hinzuzufügen und es als dynamisch zu markieren ... –