segueによる画面間データの受け渡し(失敗例)
親画面に表示する内容を子画面で選択。その後、親画面でそれを表示したい
子画面にはTableViewがあり、テーブルを選択した際にUnwindActionが走る
失敗例:
子画面側ソース
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let viewConroller = segue.destination as! SearchViewController switch segueName { case "selectDestination": viewConroller.destinationButton.titleLabel?.text = selectedItem case "selectDeparture": viewConroller.departureButton.titleLabel?.text = selectedItem default: break } }
のように、親画面をいじってやるつもりだったが、なぜか空文字になっていた
それは、TableViewの選択時イベント
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { selectedItem = list[indexPath.row] }
が後に走るため、登録する文字が空文字になっていた為
なんでやねん