Я пытаюсь загрузить данные с сайта каталога школьных курсов. У меня 64 URL-адреса в переменной UrlBook. Я успешно написал код для загрузки коллекции курсов и превращения их в один объект subject из одного URL-адреса с использованием метода обработчика завершения. Я действительно не знаю, как мне реализовать, чтобы собрать все предметы из 64 URL-адресов и в конечном итоге превратить их в объект каталог (он содержит список объектов-субъектов).
У меня есть прочитал много статей и сообщений об асинхронной и синхронной обработке, это меня так сбивает с толку. Я был бы очень признателен за простой и понятный код, который поможет мне решить эту проблему. Спасибо, ребята!
let urlBook = getUrlFromBook()
func fetchClassInfo(url:URL,completion: @escaping ([clase])-> Void){
let task = URLSession.shared.dataTask(with: url){(data, response, error) in
let jsonDecoder = JSONDecoder()
if let data = data,
let collection:[clase] = try? jsonDecoder.decode([clase].self, from: data){
completion(collection)
}else{
print("Either no data was returned, or data was not properly decoded.")
//completion(nil)
}
}
task.resume()
}
fetchClassInfo(url:urlBook.book[0]){(clase) in
let newSubject = makeNewSubject(subjectIndex: 0, collectionOfCourse: clase)
var masterCatalog = catalog(subjectCollection: [])
masterCatalog.addSubject(newSubject: newSubject)
}