데이터를 tableview에 나열 할 수 있습니다. 행을 선택하고 눌려진 셀과 관련된 특정 데이터를 보여주는 다른 뷰 컨트롤러를 전달하려고 시도 할 수 없습니다. prepareforsegue 함수에서 데이터 "selectedMeal"변수를 저장할 수 없으며 항상 []를 반환합니다. 내 주요 문제는 셀을 선택하여이 셀로 보내서 세그먼트 기능을 준비하는 것입니다. 아마도 DispatchQueue.main.async 함수에 문제가 있습니다.동적 값의 performSeguewithIdentifier 함수 사용 테이블 뷰
* 정적 데이터를 전달하려고하면 잘 동작합니다.
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를 사용하고 있습니까? –