Я пытаюсь выполнить переход, который передает массив изображений в новый контроллер представления, но переход выполняется до того, как изображения добавляются в массив - я полагаю, это потому, что URLSession, который я использую для конвертировать URL в изображение, занимает время.
Как бы я мог выполнить Segue после добавления изображений в массив?
Мой код, где URL-адрес превращается в изображение:
// When selection is selected
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let overallArray = displayArray[indexPath.section]
// Add Image 1 to imageArrayToBeSent
if let imageUrl = overallArray.fullImage1 {
let url = URL(string: imageUrl)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async {
self.imageArrayToBeSent.append(UIImage(data: data!)!)
}
}.resume()
}
// stringToBeSent = overallArray.fullImage1!
performSegue(withIdentifier: "openNewViewController", sender: self)
}
Мой код, по которому я вызываю Segue:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let info = segue.destination as! NewViewController
info.imageArray = self.imageArrayToBeSent
print(self.imageArrayToBeSent)
}