У меня проблемы с устранением этой ошибки на self.tvShows = shows.data
Я получаю сообщение об ошибке Невозможно присвоить значение типа 'RecentTvListDays' для типа '[TvShowDetails]?'
Я прикрепил структуру JSON в виде изображения внизу. Надеюсь, этого достаточно.
class TvHomeController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
fileprivate let cellId = "cellId"
var tvShows: [TvShowDetails]? = []
func fetchTvItems() {
let jsonUrlString = "https://www.what-song.com/api/air-episodes"
guard let url = URL(string: jsonUrlString) else
{return}
URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else {return}
do {
let shows = try
JSONDecoder().decode(RecentTvListData.self, from: data)
self.tvShows = shows.data
DispatchQueue.main.async {
self.collectionView?.reloadData()
}
} catch let jsonErr {
print("Error serializing JSON", jsonErr)
}
}.resume()
}
}
Модель
import UIKit
struct RecentTvListData: Decodable {
var data: RecentTvListDays
}
struct RecentTvListDays: Decodable {
var RecentTvListByDay: [TvShowDetails]
}
struct TvShowDetails: Decodable {
var _id: Int
var name: String
}