Код: Выделить всё
import Foundation
class NetworkManager {
let apiid = "?api_key=a415cfdc3dc928bd4649d310e90939e6"
func getData(from url: String, _ completed: @escaping ([String:Any]?) -> Void){
guard let safeUrl = URL(string: url + apiid) else {return}
URLSession.shared.dataTask(with: safeUrl){ data, urlResponse, error in
guard let safeData = data, error == nil, urlResponse != nil else {
completed(nil)
return
}
if let decodedObject = SerializationManager().parse(jsonData: safeData) as? [String:Any]{
completed(decodedObject)
}else{
print("ERROR")
completed(nil)
}
}.resume()
}
}
Не удалось вывести общий параметр «T»
Кроме того, когда я вызываю функцию:
Код: Выделить всё
private extension HomeViewController {
func getMovies() {
networkManager.getData(from: "https://api.themoviedb.org/3/movie/now_playing") { (movieResponse) in
guard let movies = movieResponse?.results else {
return
}
self.movieList = movies
DispatchQueue.main.async { [unowned self] in
self.tableView.reloadData()
}
}
}
}
Тип выражения неоднозначен без дополнительного контекста< /p>
(функция работает, когда в классе NetworkManager вместо [String:Any] используется NowPlayingMovieReponse (мой Модель JSON)).
Подробнее здесь: https://stackoverflow.com/questions/681 ... tiple-urls
Мобильная версия