领域:属性 声明为链接对象的来源 属性 不存在
Realm: property declared as origin of linking objects property does not exist
我正在为以下代码使用 Realm Swift:
class Item: Object {
@Persisted(primaryKey: true) var name = ""
@Persisted(originProperty: "items") var collection: LinkingObjects<SomeCollection>
}
class SomeCollection: Object {
@Persisted(primaryKey: true) var name = ""
let items = List<Item>()
}
在应用程序启动时,当我初始化 Realm
实例时,我得到:
Property 'SomeCollection.items' declared as origin of linking objects property 'Item.collection' does not exist" UserInfo={NSLocalizedDescription=Schema validation failed due to the following errors:
有趣的是,如果我将 LinkingObjects
的行更改为:
let collection = LinkingObjects(fromType: SomeCollection.self, property: "items")
然后它工作正常,但是,在将 Item
实例添加到 [=18= 的 items
列表后,collection
属性 Item
实例没有显示任何链接 SomeCollection
,我认为应该自动链接?
我做错了什么?
感谢帮助!
这个
let items = List<Item>()
需要这样
@Persisted var items = List<Item>()
或
@Persisted var items: List<Item>
取决于用例。
let
语法是我们过去的做法。
这叫做 Inverse Relationship 并且在文档中有更进一步的介绍。
我正在为以下代码使用 Realm Swift:
class Item: Object {
@Persisted(primaryKey: true) var name = ""
@Persisted(originProperty: "items") var collection: LinkingObjects<SomeCollection>
}
class SomeCollection: Object {
@Persisted(primaryKey: true) var name = ""
let items = List<Item>()
}
在应用程序启动时,当我初始化 Realm
实例时,我得到:
Property 'SomeCollection.items' declared as origin of linking objects property 'Item.collection' does not exist" UserInfo={NSLocalizedDescription=Schema validation failed due to the following errors:
有趣的是,如果我将 LinkingObjects
的行更改为:
let collection = LinkingObjects(fromType: SomeCollection.self, property: "items")
然后它工作正常,但是,在将 Item
实例添加到 [=18= 的 items
列表后,collection
属性 Item
实例没有显示任何链接 SomeCollection
,我认为应该自动链接?
我做错了什么?
感谢帮助!
这个
let items = List<Item>()
需要这样
@Persisted var items = List<Item>()
或
@Persisted var items: List<Item>
取决于用例。
let
语法是我们过去的做法。
这叫做 Inverse Relationship 并且在文档中有更进一步的介绍。