ios - Swift iOS 检查文件是否已从 json 下载
问题描述
我有一个应用程序可以显示和播放从 json 文件中获取的播客列表,我想添加一个下载功能,但为此我只想在播客尚未下载时显示下载图标,有没有一种方法可以保存诸如 id 元素以及播客标题之类的内容,以便我可以检查它是否已被下载并保存在手机上?或者有没有更简单的方法?显然,我想在显示列表之前执行此操作。
解决方案
您可以为此使用UserDefaults。这是一个关于如何从 UserDefaults 读取数组的示例
// Retrieves an array of strings from disk
func getDowloadedPodcasts() -> [String] {
UserDefaults.standard.array(forKey: "downloadedPodcasts") as? [String] ?? []
}
这是一个关于如何将新值附加到 UserDefaults 上的数组的示例
func addDownloadedPodcast(podcastId: String) {
let downloadedPodcasts = getDowloadedPodcasts()
downloadedPodcasts.append(podcastId)
UserDefaults.standard.setValue(podcastId, forKey: "downloadedPodcasts")
}
请注意,仅此功能不会解决您的问题,也不是您问题的最佳解决方案,它们在这里只是为了展示使用 UserDefaults 和从非易失性内存读取/写入是多么容易
推荐阅读
- mysql - 如何在mysql中添加随机限制
- java - 如何为发布请求编写模拟测试
- javascript - 如何使用一行 .js 代码触发文件下载(不需要用户与 HTML 交互)
- scala - 使用默认值从 Map 列获取值
- javascript - 使用 JavaScript 更改模糊滤镜
- php - 为什么我无法更新 codeigniter 中的记录?
- java - JavaFX 将 TextField 的 TextFormatter 中的 valueProperty 绑定到 SimpleDoubleProperty
- c# - 问题陈述 - 无法理解问题的措辞
- java - 我们什么时候使用类变量,而不是使用类的对象?
- regex - 如何使用正则表达式匹配捕获行并找出它是否存在于一行中并另外对其进行分组