objective-c - 当没有时,NSManagedObjectContext 对 hasChanges 返回 YES

标签 objective-c cocoa core-data

我在单独的线程上创建了一个单独的 NSManagedObjectContext 来执行一些存储维护。但是,我注意到,一旦引用了其中的托管对象,上下文就会为 hasChanges 返回 YES。

NSString *name = ManagedObject.name;

此上下文仅在 1 种方法中创建和使用。为什么它返回有变化,而没有变化?

最佳答案

如果不看代码,这个问题很难回答。也许您的对象有一个 -awakeFromFetch 调用来触及属性或其他内容。通常情况下,仅获取对象不应该发生任何变化,除非您在 awakeFromFetch 或代码中的其他位置对该对象执行某些操作。

更新

在保存之前,抓取已删除的数组、更新的数组和插入的数组并查看它们。这会给你一个关于正在发生的事情的提示。

关于objective-c - 当没有时,NSManagedObjectContext 对 hasChanges 返回 YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732060/

相关文章:

macos - 在 NSTextView 中围绕 subview 布置文本

iphone - Objective-C 约定 : When to use For and when to use With

ios - 键值观察与 NSManagedObjectContextObjectsDidChangeNotification

ios - Swift:使用 NSFetchedResultsController 应用谓词后重新加载 TableView 数据

iphone - 如何使用 json for iphone 解析对象数组

objective-c - 在系统范围内自动隐藏 OS X 菜单栏

cocoa - 打印 WebView 背景

swift - 保存核心数据时应用挂起

ios - 如何在 NSUserDefaults 中保存和检索 double 组?

objective-c - UIWebView 和 UITapGestureRecognizer 上的 UIScrollView 冲突