Я могу перечислить данные в таблице. Когда я выбираю строку и пытаюсь передать другой контроллер представления с указанием конкретных данных, связанных с моей нажатой ячейкой, он не смог бы это сделать. Я не смог сохранить данные «selectedMeal» в функции prepareforsegue, она всегда возвращает []. Я думаю, моя основная проблема заключается в выборе ячейки и отправке в эту ячейку для подготовки к функции segue. Возможно, это проблема в функции DispatchQueue.main.async.Использование функции executeSeguewIdentifier в динамических значениях Tableview
* Когда я пытаюсь перейти к статическим данным, он отлично работает.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = .checkmark;
DispatchQueue.main.async {
self.performSegue(withIdentifier: "gotoOrderDetail", sender: self)
}
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "gotoOrderDetail") {
let DestViewController : OrderDetailListViewController = segue.destination as! OrderDetailListViewController
let selectedMeal = selectedCells.map { (index: Int) -> SavedMeal in
return savedMeal[index]
}
DestViewController.mealarray = selectedMeal
}
}
Почему вы используете DispatchQueue.main.async? –