我目前正在尝试找出构建我的领域对象的最佳方法,以便于检索。
我有2个对象tags
和object
有多个tags
,每个对象可能包含多个object
。同样地,每个object
可能有多个tag
与之关联
理想情况下,选择单个代码应检索至少包含一个代码的所有object
(但显然可能有多个代码)
我的模型会被指定为
class Tag: Object {
let objects = List<Object>()
}
class Object {
let tags = List<Tag>()
}
我认为我不需要在这里使用反向关系,还是应该?选择一个类别I应该能够只检索所有对象引用的列表,但是在这里维护和更新对象的引用可能很困难?即用户选择标签'A'然后更新第一个对象以包括标签'B'我需要更新标签A列表中的对象,然后将新项目添加到标签'B'的列表中并最终更新实际的Object本身在其标签列表中包含Tag'B'。
为了清楚起见,对象只会显示并允许编辑它的Tag
个对象。但Tag对象本身需要知道Object
适用于它的内容。
然而,理想情况下我觉得我必须做多次更新才能最大限度地减少这种努力。任何人都可以推荐更好的方法吗?或者由于Realm的限制,没有办法解决这个问题吗?
答案 0 :(得分:3)
这正是LinkingObjects
的用途。将objects
中的Tag
属性更改为let objects = LinkingObjects(fromType: Object.self, property: "tags")
会使标记添加到对象时自动更新。