iOS:核心数据异步数据获取和保存块

时间:2017-07-12 11:11:59

标签: ios swift core-data

是否有API从数据库中获取数据块并在UI中显示(如进度)。 副主席,我们可以为保存做同样的事吗?

2 个答案:

答案 0 :(得分:1)

在阅读了 Core Data API 上的一些文章后,我能够实现异步提取行为。

@Adam Fallon,当你说不知道要获取的内容的大小时,你是正确的,我们无法定义进度。但是为了获取文件大小,我们可以简单地调用:

managedObjectContext.count(for: fetch)

对于增量提取,我们可以使用NSAsynchronousFetchRequest API。

示例代码Core-Data-Asynchronous-Fetching

博客链接Core-Data-Asynchronous-Fetching

视频链接Core-Data-Asynchronous-Fetching

将进一步探索增量储蓄。

答案 1 :(得分:0)

iOS提供api来显示进度:https://developer.apple.com/documentation/uikit/uiprogressview

为了让您的应用程序能够理解并显示进度,它需要两件事情;

  • 您正在下载的文件的总文件大小
  • 当前文件下载进度

如果你有这两件事,你的进步是从总文件大小中减去当前进度的简单功能的结果。

E.g。文件是100mb,你到目前为止已下载36mb,你的进度是36%

下载新的块时,您可以更新进度。

您可以通过计算网络速度和了解正在下载的块的大小来获得想象力,但即使使用上述方程式之类的简单内容,进度也是有意义的。