【发布时间】:2021-06-12 15:32:55
【问题描述】:
在 Realm 中,我在理解 LinkingObjects 的实现时遇到了问题(我在 Realm T,T 中是新手),假设一个人可能有多个 Dog(Dog 列表),所以我会编写如下代码:
Person : Object {
dynamic var name:String = ""
let dogs = List<Dog>()
}
Dog : Object {
dynamic var name: String = ""
let walkers = LinkingObjects<fromType: Person.self, property:"dogs">
}
让我们说
Person A
dogs = [Alex,Cindy]
Person B
dogs = [Doggo,Kiba]
如果我使用 Realm.delete 删除 Alex,那么它会变成 Person A dogs = [Cindy]
这很简单。
但是当我从类中删除 LinkingObjects 时,如下所示:
Person : Object {
dynamic var name:String = ""
let dogs = List<Dog>()
}
Dog : Object {
dynamic var name: String = ""
}
应用程序仍然可以正常运行,没有任何差异,我仍然可以添加 Person 3 并附加 Dog 列表。同样,在删除( Realm.delete )时,与将 LinkingObject 添加到 Dog 类时没有区别。这里有什么区别?什么时候可以使用 LinkinObject?谁能解释一下?还是写一些更容易理解的代码?
已经阅读了所有先前的答案,但我仍然需要另一个解释。非常感谢!!
【问题讨论】:
标签: swift database xcode realm linkingobjects