#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")
}
Обратите внимание, что эти функции сами по себе не решат вашу проблему и не являются лучшим решением вашей проблемы, они здесь просто для того, чтобы показать, насколько легко может быть работать с ошибками пользователя и читать / записывать из энергонезависимой памяти