Ich beginne mit Realm auf iOS 8 oder höher zu arbeiten und schaue dir die Dokumentation in Realm an. Ich habe festgestellt, dass alle Eigenschaften das Schlüsselwort dynamic
vor sich haben. Ist das in Realm erforderlich? Ich habe die Apple-Dokumentation zum Stichwort gelesen, das hier zu finden ist. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.htmlDynamische Eigenschaften in Realm
Antwort
Ja, es ist obligatorisch für normale var
Eigenschaften. Von der realm docs.
Realm-Modelleigenschaften benötigen das Attribut
dynamic var
, damit diese Eigenschaften Accessoren für die zugrunde liegenden Datenbankdaten werden.Es gibt zwei Ausnahmen:
List
undRealmOptional
Eigenschaften können nicht so dynamisch deklariert werden, weil generische Eigenschaften nicht in der Objective-C-Laufzeit dargestellt werden, die für die dynamische Versendung der dynamischen Eigenschaften verwendet wird, und sollen immer mitlet
deklariert werden .
Die dynamische Schlüsselwort ist das, was für Realm ermöglicht Änderungen benachrichtigt werden Variablen zu modellieren und damit in die Datenbank zu reflektieren.
In Swift 3, erklären wir unser Eigentum wie diese
dynamic var Name : String = ""
In Swift 4 wir unser Eigentum wie diese
@objc dynamic var Name : String = ""
ich auch wenig Video über diesen Fehler mache
erklärt. Wenn Sie nicht auf Coding Art verstehen. Sehen Sie sich das Video an