【发布时间】:2011-10-25 02:12:13
【问题描述】:
我正在使用MagicalRecord 帮助核心数据操作。
我有一个名为OfflineRetrieveOperation 的NSOperation 子类。它从服务器检索消息并保存。
代码是这样的:
NSManagedObjectContext *context = [NSManagedObjectContext contextForCurrentThread];
Message *existMessage = [Message MessageWithMessageID:messageID inManagedObjectContext:context];
if (!existMessage) {
Message *message = [Message insertMessageWithProperties:properties inManagedObjectContext:context];
}
[context save];
通知接收器是这样初始化的:
- (id)init
{
self = [super init];
if (self != nil) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(contextDidSave:)
name:NSManagedObjectContextDidSaveNotification
object:[NSManagedObjectContext defaultContext]];
[self setContext:[NSManagedObjectContext context]];
}
return self;
}
日志:
-[NSManagedObjectContext(MagicalRecord) saveWithErrorHandler:](0x5906a0) Saving Context
-[NSManagedObjectContext(MagicalRecord) mergeChangesFromNotification:](0x37eab0) Merging changes to *** DEFAULT *** context *** on Main Thread ***
一切似乎都很好,只是我根本收不到NSManagedObjectContextDidSaveNotification,所以我不知道我已经完成了检索。
【问题讨论】:
标签: core-data notifications nsoperation