【发布时间】:2012-01-15 13:26:49
【问题描述】:
我正在使用名为 NSManagedObjectContextDidSaveNotification 的通知,当它收到通知时,userInfo 字典包含在保存期间刚刚对上下文所做的所有更改。如何将该数据外推到我的托管对象模型中?我试过这样做
- (void)addControllerContextDidSave:(NSNotification*)saveNotification {
NSMutableDictionary *userInfo = (NSMutableDictionary *)[saveNotification userInfo];
NSLog(@"userInfo is %@", userInfo);
TaskInfo *taskInfo = (TaskInfo *)[userInfo objectForKey:@"inserted"];
NSLog(@"taskInfo is %@", taskInfo);
}
TaskInfo 是我的自定义托管对象模型。并打印了这个
userInfo is {
inserted = "{(\n <TaskInfo: 0x15f350> (entity: TaskInfo; id: 0x13fda0 <x- coredata://1F98E14E-259F-4CB3-84E2-9AC8466CCD1B/TaskInfo/p2> ; data: {\n completionDate = nil;\n creationDate = \"2011-12-08 02:14:04 +0000\";\n duration = 10860;\n elapsedTime = 0;\n isCompleted = 0;\n isRepeating = 0;\n isRunning = 0;\n isToday = 0;\n projectedEndTime = nil;\n specifics = nil;\n startTime = nil;\n timesReminded = 0;\n title = haha;\n})\n)}";
updated = "{(\n)}";
}
2011-12-07 20:14:54.147 Tisk Task 3[3161:707] taskInfo is {(
<TaskInfo: 0x15f350> (entity: TaskInfo; id: 0x13fda0 <x-coredata://1F98E14E-259F- 4CB3-84E2-9AC8466CCD1B/TaskInfo/p2> ; data: {
completionDate = nil;
creationDate = "2011-12-08 02:14:04 +0000";
duration = 10860;
elapsedTime = 0;
isCompleted = 0;
isRepeating = 0;
isRunning = 0;
isToday = 0;
projectedEndTime = nil;
specifics = nil;
startTime = nil;
timesReminded = 0;
title = haha;
})
)}
我认为问题在于 TaskInfo 模型之外的额外 {()} 集。有人有什么建议吗?
【问题讨论】:
标签: iphone objective-c ios core-data