【发布时间】:2012-07-30 09:32:10
【问题描述】:
我有问题。在获取一些数据和未保存的更改时,我的 iOS 应用程序的行为非常奇怪。为了您的兴趣,在与 Web 服务器同步一些数据时会出现整个行为。我想做一个完全同步,然后保存更改。我尝试了一些解决方法,但没有一个工作得足够好。
到问题本身: 我将一些实体与 Web 服务器同步。它们被组织成区域(它们的父级),它们本身位于建筑物中。因此,对于每个实体,我都会查询是否已经存在匹配区域,如果不存在,则创建一个新的。现在的问题是,如果刚刚创建这些区域,我将无法获取它们(因此每次都会创建一个新但相同的区域)。我还有一个问题,一旦通过向其添加新创建的区域来更改它,我就无法再获取正确的建筑物,完全相同的查询的结果突然为空。
我已确保设置了[fetch setIncludePendingChanges:YES],并且我还在使用普通结果模式而不是 NSDictionaryResultType(请参阅:NSDictionaryResultType expression not taking into account newly inserted objects)。
希望有人能帮忙。
【问题讨论】:
-
您能否提供更多有关如何配置 NSManagedObjectContexts 的详细信息?听起来您可能正在从一个上下文中获取,同时在后台线程上导入另一个上下文。在这种情况下,您需要保存上下文(并合并更改)才能获取刚刚插入的内容。
-
我可以试试。我不认为我有多个上下文 - 总是使用我的 AppDelegate 中的一个。此外,同步不在后台线程中完成,而是在显示活动指示器的主线程中完成。
-
是的,所以用您的 NSFetchedResultsController 设置代码更新您的问题。在同步过程中,活动指示器是否响应,即更新和动画流畅?
标签: ios save fetch nsfetchrequest