【发布时间】:2014-10-17 19:22:45
【问题描述】:
似乎我什么都试过了,但它似乎只在主线程中有效。例如:
[SomeClass MR_createEntity];
[[NSManagedObjectContext MR_defaultContext] MR_saveWithOptions:MRSaveSynchronously completion:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"You successfully saved your context.");
} else if (error) {
NSLog(@"Error saving context: %@", error.description);
}
}];
如果此代码在主线程中运行,则success == YES 否则(在后台线程中)它给出success == NO。在这两种情况下error == nil。
那么在后台线程中调用保存是不可能的吗?
【问题讨论】:
-
默认上下文是主线程上下文。也许您的意思是 [NSManagedObjectContext MR_saveWithBlock:] 方法?
-
这个库很奇怪。现在它起作用了……每秒钟一次。为什么?!检查了一切,问题出在图书馆
标签: ios multithreading thread-safety magicalrecord background-thread