在我的iPhone上,我在后台线程中使用托管对象上下文(MOC)来将来自我的服务器的消息与存储在我的数据库中的消息同步。为了防止重复,我使用谓词获取新消息的ID,并检查这些消息是否已存在于数据库中。导入完成后,我将后台线程上的MOC与主线程上的默认MOC合并。到现在为止还挺好。
但是如果用户在主线程上创建新消息消息被同步(我已经在后台MOC上进行了获取以检查重复),我该如何更新后台MOC防止重复邮件?
最诚挚的问候 卡斯滕
答案 0 :(得分:0)
通过观察 NSManagedObjectContextDidSaveNotification ,您可以收到主线程变化的通知:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(updateMessages:)
name:NSManagedObjectContextDidSaveNotification
object:mainManagedObjectContext];
您的 updateMessages:方法采用NSNotification参数:
- (void)updateMessages:(NSNotification *)notification
{
[myManagedObjectContext mergeChangesFromContextDidSaveNotification:notification];
}
您可以使用 [通知userInfo] 获取有关更新的更精细信息。