MR_saveToPersistentStoreAndWait冻结我的应用程序

时间:2014-08-22 20:12:28

标签: ios core-data nsmanagedobjectcontext magicalrecord

self.catContext = [NSManagedObjectContext MR_context];
Cat *cat = [Cat MR_createEntityInContext:self.catContext];

[self doSomething:@"someText" completion:^(NSDictionary *results) {
                if (results) {
                    cat.name = results[@"name"];
                    [cat.managedObjectContext MR_saveToPersistentStoreAndWait];
                }
            }];

应用程序冻结,Xcode暂停在MR.SaveToPersistentStoreAndWait行上,该行在com.apple.main-thread上运行。冻结的原因,以及如何解决?

编辑: 如果我用这个替换该行:

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];

该应用不再冻结。但是,当我稍后去访问猫时,没有任何信息被保存到Cat(名称等)。

1 个答案:

答案 0 :(得分:0)

为什么不使用saveInBackgroundWithBlock或某些最新的等效内容并在完成块中更新您的UI?