gpt4 book ai didi

ios - 核心数据和魔法记录保存

转载 作者:行者123 更新时间:2023-11-29 03:12:31 25 4
gpt4 key购买 nike

这是一个基本问题,但需要一些说明。

我有这段代码。

   //line of code #1

[localContext MR_saveToPersistentStoreWithCompletion:^(BOOL success, NSError *error) {

//line of code #2

}];

代码行 #2 是完成 block 吗?我是否应该在保存为代码行 #1 显示之前对实体进行更改?

谢谢

最佳答案

任何具有 ^(…) { … }^{ … } 形式的都是 block .本质上, block 是可移植的代码块,它不会直接执行。 block 可以保存到变量中,然后在稍后的时间点执行。

typedef void (^my_block_t)();
my_block_t myBlock = ^{
NSLog(@"I'm in a block");
};

这是一个打印日志语句的 block 。该 block 保存到变量 myBlock。注意:此时 NSLog 没有打印出任何东西。

在稍后的某个时间点,可以执行myBlock

myBlock();

在代码的这一点上, block 被运行并且 NSLog 打印出它的语句。

如果您的示例中,代码行 #2 的执行被延迟到保存完成之后。

逻辑上,它的工作原理与:

Step 1) execute line of code #1
Step 2) execute save
Step 3) execute line of code #2

因为代码行 #2 中的事情发生在保存完成之后,所以此时不​​会保存对模型的任何更改。

关于ios - 核心数据和魔法记录保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083888/

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