使用Swift 4和Realm 3.0.1,我想将Realm对象列表存储在父Realm对象的属性中.我遇到了以下问题:
在Swift 4中,应该持久保存到Realm中的属性必须是@objc dynamic,例如@objc dynamic var id: String = "".但是,Realm的Array替换类型,List不能以这种方式存储:@objc dynamic var children: List<Child>? = nil导致此编译器错误:
属性不能标记为@objc,因为其类型无法在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>?
}
Run Code Online (Sandbox Code Playgroud)
那么还有另一种在Realm和Swift 4中存储对象列表的方法吗?
all*_*enh 12
境界List永远不可能nil,而且他们不需要@objc dynamic.他们应该只是let,虽然我在文档中找不到特别提到的内容,但是有一个领域贡献者的评论,专门用它来表达
let dogs = List<Dog>()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2493 次 |
| 最近记录: |