gpt4 book ai didi

cocoa - Core Data MagicalRecord 在线程中合并 MOC

转载 作者:行者123 更新时间:2023-12-03 17:24:10 26 4
gpt4 key购买 nike

我正在使用 MagicalRecord (https://github.com/magicalpanda)

这不起作用(没有保证 MOC)

- (void) foo {
NSBlockOperation * operation = [NSBlockOperation blockOperationWithBlock:^{

NSManagedObjectContext * localContext = [NSManagedObjectContext MR_contextForCurrentThread];

// parsing and core data operation on localContext here, savin objectIDs

[localContext MR_saveNestedContexts];

[[NSOperationQueue mainQueue] addOperationWithBlock:^(){

onParseFinished(parsedItemObjectIDs);

}];

}];

[self.operationQueue addOperation:operation];
}

必须用这个替换它(还应用了修复https://github.com/magicalpanda/MagicalRecord/pull/221)

- (void) foo {
__block NSMutableArray * parsedItemsObjectIDs;
__block Class parsedItemsClass = [NSObject class];

[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){

// parsing and core data operation on localContext here, savin objectIDs
...

} completion:^(void){

onParseFinished(parsedItemsObjectIDs);

}];

}

第一个有什么问题吗?为什么它不起作用并且更改没有合并?

最佳答案

不合并更改的简单事实是我的时间有限。我尝试理解和验证所有收到的拉取请求,而作为一个人的工作室意味着我现在用于开源(免费、免费、不付费)工作的时间更加有限。然而,我相信修复最终被纳入,只是从提交历史记录中并不明显。

至于为什么它一开始不起作用,我的预感是 contextForCurrentThread 方法返回了一些没有用的东西。 saveInBackground 每次被调用时都会创建一个新的上下文,为您提供一个新的工作区域。我认为这是主要区别。

关于cocoa - Core Data MagicalRecord 在线程中合并 MOC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684567/

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