我有一个问题。我的 iOS 应用程序在获取一些数据和未保存的更改时表现得很奇怪。为了您的兴趣,整个行为在与网络服务器同步一些数据时出现。我想进行完全同步,然后保存更改。我尝试了一些解决方法,但没有一个效果很好。
对于问题本身: 我将一些实体与网络服务器同步。它们被组织成区域(它们的父区域),它们本身位于建筑物中。因此,对于每个实体,我查询匹配区域是否已存在,如果不存在,我将创建一个新区域。现在的问题是,如果这些区域刚刚创建,我将无法获取它们(因此每次都会创建一个新的但相同的区域)。我还有一个问题,一旦通过向其添加新创建的区域来更改它,我就无法再获取正确的建筑物,完全相同的查询的结果突然为空。
我已确保 [fetch setIncludePendingChanges:YES]
已设置,并且我还在使用正常结果模式而不是 NSDictionaryResultType(请参阅:NSDictionaryResultType expression not taking into account newly inserted objects)。
我希望有人能提供帮助。
最佳答案
Fetch 请求从上下文中获取数据,该上下文在持久性存储中保存 数据,上下文从中获取数据。当您创建一个新的托管对象时,您是在您的上下文(也就是您的便签簿)中创建它,而不是在您的持久存储中创建它。因此,在您可以获取新创建的对象之前,您必须将该上下文的更改保存到您的商店中。
关于ios - 核心数据获取请求和未保存的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718737/