是否有API从数据库中获取数据块并在UI中显示(如进度)。 副主席,我们可以为保存做同样的事吗?
答案 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%
下载新的块时,您可以更新进度。
您可以通过计算网络速度和了解正在下载的块的大小来获得想象力,但即使使用上述方程式之类的简单内容,进度也是有意义的。