iOS- 使 Segue 在数据添加到数组后执行 (Swift)

iOS- make Segue perform after data is added to array (Swift)

我正在尝试执行将图像数组传递给新视图控制器的转场,但转场是在将图像添加到数组之前执行的 - 我相信这是因为 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)
 }

在回调中执行

DispatchQueue.main.async {
    self.imageArrayToBeSent.append(UIImage(data: data!)!)
    self.performSegue(withIdentifier: "openNewViewController", sender: self)
}