Swift iOS проверяет, был ли файл загружен из json

#ios #json #swift #file #save

#iOS #json #swift #файл #Сохранить

Вопрос:

У меня есть приложение, которое отображает и воспроизводит список подкастов, извлеченных из файла json, я хотел бы добавить функцию загрузки, но для этого я хотел бы показывать значок загрузки только в том случае, если подкаст еще не загружен, есть ли способ сохранить что-то вродеэлемент id, а также название подкаста, чтобы я мог затем проверить, был ли он уже загружен и сохранен на телефоне? Или есть более простой способ? Очевидно, я хотел бы сделать это до отображения списка.

Ответ №1:

Для этого вы можете использовать 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")
}
  

Обратите внимание, что эти функции сами по себе не решат вашу проблему и не являются лучшим решением вашей проблемы, они здесь просто для того, чтобы показать, насколько легко может быть работать с ошибками пользователя и читать / записывать из энергонезависимой памяти