|
|
1
23
只有在对托管对象的更改(插入、更新、删除)挂起时,才能保证从上下文保留对该对象的访问权。只要调用save:,就可能丢失对托管对象的引用。 当设置setRetainsRegisteredObjects时停止获取错误:是,您可能引入了内存管理问题,因为您正在将托管对象的生存期设置为依赖于托管对象上下文的生存期。如果你在整个应用程序中传递你的上下文,如果你有一个大的对象层次结构,这可能会变得相当大。 您可以在以下Apple文档中阅读更多内容: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreData/MO_Lifecycle.html |
|
|
2
10
解决了问题,但我不确定是否解决了真正的根本原因。当我添加这一行时,错误被消除了:
到创建managedObjectContext的位置。所以我想这与保留计数有关。我猜,当模态视图出现时,可能会部分或暂时释放实例变量,或者其他什么?我不知道。在任何情况下,这个错误都被消除了,程序现在运行正常。 |
|
|
3
4
为了帮助其他有相同问题的人,并加强Steff在上面的回答,此错误的可能原因是您试图发布NSManagedObject。 |
|
|
4
0
我在iPhone上看到了许多关于CoreData的有趣行为,这些行为通过在iPhone模拟器中重置内容和设置得以解决。 |
|
|
5
0
我知道这是一个老掉牙的问题,但我也有同样的问题,所以我想我应该加上我解决问题的方法,我的问题是由于在模态视图中手动释放托管对象造成的,我删除了释放调用,一切正常:)根据文档,无论如何,您不应该手动尝试释放托管对象,因为上下文将处理所有这些。这就是我的经验,在代码中搜索过度释放的值。 |
|
|
6
0
必须将FRC缓存设置为零 |
|
|
7
0
|
|
|
Danil · 种子/填充核心数据的最佳实践?[关闭] 1 年前 |
|
|
Vincent · SwiftUI与表单中的CoreData绑定 2 年前 |
|
|
user13990880 · 需要在核心数据中保存打乱的顺序 3 年前 |