Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 异步获取vs多个托管对象上下文核心数据哪一个更好?_Ios_Asynchronous_Core Data - Fatal编程技术网

Ios 异步获取vs多个托管对象上下文核心数据哪一个更好?

Ios 异步获取vs多个托管对象上下文核心数据哪一个更好?,ios,asynchronous,core-data,Ios,Asynchronous,Core Data,我不知道什么时候用 1) 异步提取 2) 多托管对象上下文 在核心数据中获取大量记录时,请提供帮助。远程提取数据时,您希望使用Aysnch fetch。由于数据拉取需要时间(如果在主线程上),因此您的应用程序将冻结,直到获得请求的数据。用户会认为应用程序冻结了,而实际上它正在获取数据来显示,什么也没有发生 当您必须修改核心数据库中的数据时,您将使用多个托管对象上下文。有关更多信息,请参阅此 第一个用于网络请求,第二个用于修改由core data管理的数据库中的数据。远程提取数据时要使用Aysnc

我不知道什么时候用 1) 异步提取 2) 多托管对象上下文
在核心数据中获取大量记录时,请提供帮助。

远程提取数据时,您希望使用Aysnch fetch。由于数据拉取需要时间(如果在主线程上),因此您的应用程序将冻结,直到获得请求的数据。用户会认为应用程序冻结了,而实际上它正在获取数据来显示,什么也没有发生

当您必须修改核心数据库中的数据时,您将使用多个托管对象上下文。有关更多信息,请参阅此


第一个用于网络请求,第二个用于修改由core data管理的数据库中的数据。

远程提取数据时要使用Aysnch fetch。由于数据拉取需要时间(如果在主线程上),因此您的应用程序将冻结,直到获得请求的数据。用户会认为应用程序冻结了,而实际上它正在获取数据来显示,什么也没有发生

当您必须修改核心数据库中的数据时,您将使用多个托管对象上下文。有关更多信息,请参阅此


第一个用于网络请求,第二个用于修改由core data管理的数据库中的数据。

在这种情况下,我可以使用批更新来修改数据库中的数据,多托管对象上下文是否比批更新有任何优势?我将以其他方式回答您。苹果建议,如果传统方法(将每一条记录加载到内存中,更新记录,并将更改发送到持久性存储。如果记录数量太多,iOS将因资源不足而退出),则只使用批更新功能。这种方法太耗费资源或时间。如果您需要将数百或数千封电子邮件标记为已读,则批更新是最佳解决方案。在这种情况下,我可以使用批更新来修改数据库中的数据,多托管对象上下文是否比批更新有任何优势?我将以其他方式回答您。苹果建议,如果传统方法(将每一条记录加载到内存中,更新记录,并将更改发送到持久性存储。如果记录数量太多,iOS将因资源不足而退出),则只使用批更新功能。这种方法太耗费资源或时间。如果您需要将数百或数千封电子邮件标记为已读,那么批量更新是最好的解决方案。