extension Podcast { init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) name = try container.decode(String.self, forKey: .name) artistName = try container.decode(String.self, forKey: .artistName) url = try container.decode(URL.self, forKey: .url) let dateString = try container.decode(String.self, forKey: .releaseDate) let formatter = DateFormatter.yyyyMMdd if let date = formatter.date(from: dateString) { releaseDate = date } else { throw DecodingError.dataCorruptedError(forKey: .releaseDate, in: container, debugDescription: "Date string does not match format expected by formatter.") } } }



















