gpt4 book ai didi

ios - MagicalRecord 不能在后台线程中工作吗?

转载 作者:行者123 更新时间:2023-11-29 02:43:18 25 4
gpt4 key购买 nike

似乎我什么都试过了,但似乎只在主线程中有效。例如:

[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

那么在后台线程调用保存是不可能的吗?

最佳答案

完成 block 总是从主线程调用,这里是一个应该工作的例子:

Person *person = ...;

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext){

Person *localPerson = [person MR_inContext:localContext];
localPerson.firstName = @"John";
localPerson.lastName = @"Appleseed";

} completion:^(BOOL success, NSError *error) {

self.everyoneInTheDepartment = [Person findAll];

}];

引用:https://github.com/magicalpanda/MagicalRecord/blob/master/Docs/Working-with-Managed-Object-Contexts.md

关于ios - MagicalRecord 不能在后台线程中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25472423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com