首页 > 解决方案 > Swift iOS 检查文件是否已从 json 下载

问题描述

我有一个应用程序可以显示和播放从 json 文件中获取的播客列表,我想添加一个下载功能,但为此我只想在播客尚未下载时显示下载图标,有没有一种方法可以保存诸如 id 元素以及播客标题之类的内容,以便我可以检查它是否已被下载并保存在手机上?或者有没有更简单的方法?显然,我想在显示列表之前执行此操作。

标签: iosjsonswiftfilesave

解决方案


您可以为此使用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 和从非易失性内存读取/写入是多么容易


推荐阅读