如何在Swift 4中保持Realm List属性?

使用Swift 4和Realm 3.0.1,我想将Realm对象列表存储在父领域对象的属性中。 我遇到了以下问题:

在Swift 4中,应该被保存到Realm中的属性必须是@objc dynamic ,例如@objc dynamic var id: String = "" 。 但是,Realm的数组replacetypesList不能以这种方式存储: @objc dynamic var children: List<Child>? = nil @objc dynamic var children: List<Child>? = nil导致这个编译器错误:

属性不能被标记@objc,因为它的types不能在Objective-C中表示

更多的上下文,这里是一个完整的例子:

 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>? } 

那么有没有另外一种方法来存储Realm和Swift 4中的对象列表?

领域List不能是nil ,他们不需要@objc dynamic 。 他们只应该被let ,尽pipe我找不到在文档中具体提到的那个,但有一个来自领域贡献者的评论 ,它专门调用它

文档中有属性的备忘单 。

 let dogs = List<Dog>() 
Interesting Posts