Mit Swift 4 und Realm 3.0.1 möchte ich eine Liste von Realm-Objekten in einer Eigenschaft eines übergeordneten Realms Objekts speichern. Ich stieß auf das folgende Problem:Wie behalte ich eine Realm List-Eigenschaft in Swift 4?
In Swift 4 müssen Eigenschaften, die in Realm beibehalten werden sollen @objc dynamic
, z. @objc dynamic var id: String = ""
. Allerdings Realm Array Ersatztyp, List
kann nicht auf diese Weise gespeichert werden: @objc dynamic var children: List<Child>? = nil
diesen Compiler-Fehler verursacht:
Property cannot be marked @objc because its type cannot be represented in Objective-C
Weiteren Kontext, hier ist ein vollständiges Beispiel:
final class Child: Object {
@objc dynamic var name: String = ""
}
final class Parent: Object {
// this fails to compile
@objc dynamic var children1: List<Child>?
// this compiles but the children will not be persisted
var children2: List<Child>?
}
So gibt es eine andere Art und Weise Objektlisten in Realm und Swift 4 zu speichern?