【发布时间】:2021-07-28 22:36:38
【问题描述】:
在我的 iOS 应用中,出现以下异常:
'Linking objects notifications are only supported on managed objects.'
当我尝试添加观察者块时:
y.xxx.observe { ... }
到这样定义的属性:
class Y: Object {
...
let xxx = LinkingObjects(fromType: X.self, property: "y")
...
}
我相信这意味着y.xxx 没有Realm,而且我确实可以在调试器中看到y.xxx.realm 是nil。但是,y.realm 不是 nil。
如果我要链接的对象有 Realm,那么链接对象怎么可能没有 Realm?
为了完整起见,这是 X 类的定义方式:
class X: Object {
...
@Persisted var y: Y?
...
}
Realm 版本 10.11.0,RealmDatabase 版本 11.1.1。
上下文:我正处于将最初用 ObjC 编写的应用程序迁移为纯 Swift 的最后阶段。这意味着切换到 Swift 版本的 Realm。我在以前版本的应用程序中没有遇到过这个问题,除了它使用非常旧版本的 Realm 框架并且 Realm 对象是在 ObjC 中定义的之外,它的代码库基本相同。
【问题讨论】:
-
查看this answer 了解更多信息。
-
@Jay 谢谢,但我认为这个答案在这里不适用。我相信我了解链接对象应该如何工作,正是由于它们的自动/计算性质,我无法理解如何会出现对象具有领域但其链接对象没有的情况。
-
我想我看错了你的帖子。您可以按照您的要求做,所以我提供了一个示例作为答案。