@objc fileprivate func handleSaveFavorite() {
print("@@@ Save Favorite")
guard let podcast = podcast else { return }
// Change [ podcast ] into [ Data ]
do {
let data = try NSKeyedArchiver.archivedData(withRootObject: podcast, requiringSecureCoding: false)
UserDefaults.standard.set(data, forKey: favoritePodcastKey)
UserDefaults.standard.synchronize()
}catch let dataErr {
print("@@@ Erro: ", dataErr.localizedDescription)
}
}
@objc fileprivate func handleFetchedSavePodcast() {
print("### Fetched")
let valueString = UserDefaults.standard.value(forKey: favoritePodcastKey) as? String
print("### Value is: ", valueString ?? "")
// Retrieve Podcast object from [ Data() that be saved in UserDefaults ]
guard let data = UserDefaults.standard.data(forKey: favoritePodcastKey) else { return }
guard let podcast = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? PodCast else { return }
print("$$$ ", podcast.trackName ?? "", podcast.artistName ?? "", podcast.artworkUrl600 ?? "")
}