魔术记录线程保存

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*

以上是关于魔术记录线程保存的主要内容,如果未能解决你的问题,请参考以下文章

应用程序终止后魔术记录截断不起作用

php 魔术师调整大小 - 显示图像而不是保存到文件夹

使用图像魔术将整个文件夹转换为灰度?

php中常用到的魔术方法

PHP魔术方法

pyhton中的魔术方法