魔术记录线程保存
Posted
技术标签:
【中文标题】魔术记录线程保存【英文标题】:Magic Record Threaded Saves 【发布时间】:2013-01-08 06:47:15 【问题描述】:我无法完全找出正确的方法来做到这一点。我无法持久化在块中创建的对象。
[op addCompletionHandler:^(MKNetworkOperation *completedOperation)
User *u = [User MR_createEntity];
u.name = @"bob";
[[NSManagedObjectContext MR_contextForCurrentThread] MR_save];
errorHandler:^(MKNetworkOperation *completedOperation, NSError *error)
];
当我重新打开应用程序时,似乎无法让 bob 坚持下去。有人可以解释发生了什么吗?我认为你是在一个新的背景下创建的?然后这不与主上下文合并?
【问题讨论】:
【参考方案1】:您可以强制在与您尝试保存的上下文相同的上下文中创建u
,然后使用u
的上下文进行保存。
User *u = [User MR_createInContext:[NSManagedObjectContext MR_contextForCurrentThread]];
u.name = @"bob";
[[u managedObjectContext] MR_saveToPersistentStoreAndWait];
【讨论】:
MR_save
现在已弃用。请改用MR_saveToPersistentStore*
。以上是关于魔术记录线程保存的主要内容,如果未能解决你的问题,请参考以下文章