To Do List 앱에 새로운 할 일을 추가할 때, 내용을 입력하기 위한 View를 구현했다. 이후에 이미 추가된 할 일을 수정하는 기능을 추가하려고 보니, 기존 View를 활용하면 좋을 것 같다는 생각이 들었다.
즉, UITableViewCell 의 데이터를 View로 전달해서 기존의 값이 입력되도록 하는 기능을 구현하고자 했다.
스토리보드에서
UITableViewCell을ViewController로 직접 Segue 연결:indexPathForSelectedRow가nil이 나와서 데이터 전달 실패
해결 방안
didSelectRowAt에서performSegue(withIdentifier:)를 실행override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { performSegue(withIdentifier: "identifier", sender: indexPath) }prepare(for: sender:)에서 데이터 전달override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "identifier" { let destinationVC = segue.destination as? ViewController if let indexPath = sender as? IndexPath { destinationVC.task = tasks[indexPath.row] // 기존 데이터 전달 } } }만약 수정한 내용을 다시
UITableView에 반영하려면delegate를 사용