Я хочу получить данные с YouTube с домашнего контроллера и передать свои данные на мой видеоконтроллер, но данные не передаются на мой видеоконтроллер.но данные находятся в домашнем контроллере, когда я пытаюсь его распечатать.это мой код
это мой протокол, который я поставил выше класса домашнего контроллера
protocol VideoListDelegate: class {
func didAddVideoItem(results: [SearchResult])
}
, и это мой представитель в моем классе домашнего контроллера
weak var delegate: VideoListDelegate?
этомой API вызывается в домашнем контроллере
private func youtubeAPI(with query: Method) {
let request = SearchListRequest(part: [.id, .snippet], maxResults: 50, searchQuery: query.rawValue)
ApiSession.shared.send(request) { (results) in
if let err = results.error {
print("? -- Failed to get data -- ?")
print("? -- \(err) -- ?")
return
}
if let result = results.value?.items {
self.delegate?.didAddVideoItem(results: result)
}
let layout = UICollectionViewFlowLayout()
let searchVideoController = VideoController(collectionViewLayout: layout)
self.navigationController?.pushViewController(searchVideoController, animated: true)
}
}
, а затем я подгоняю свой видеоконтроллер к моему протоколу
class VideoController: UICollectionViewController, UICollectionViewDelegateFlowLayout, VideoListDelegate {
// Add video into video array
func didAddVideoItem(results: [SearchResult]) {
for item in results {
print(item.snippet.title)
let video = Video(title: item.snippet.title, videoId: item.id.videoID ?? "")
self.videos.append(video)
}
DispatchQueue.main.async {
self.collectionView.reloadData()
}
}
}