0
私はそれに接続されたtableViewを持っているビューコントローラを持っています。テーブルビューはありませんが、ストーリーボードにあります
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = DetailCharacterViewController()
let characterModel = (self.viewModel.arrValues[indexPath.row] as! CharacterListItem).correspondingCharacter
let vm = DetailCharacterViewModel(m: characterModel)
vc.viewModel = vm
self.navigationController?.pushViewController(vc, animated: true)
tableView.deselectRow(at: indexPath, animated: true)
}
しかし、コントローラが表示されたときのtableViewプロパティにアクセスしようとすると、それがクラッシュし、それは実際には次のとおりです:(以前のコントローラで)
:私はそのようなコントローラを提示
@IBOutlet weak var tableView: UITableView!
デバッグで私はそれがゼロであることがわかります。どうして?
'let vc = DetailCharacterViewController() 'は、ストーリーボードの" in/linked "というViewControllerを呼び出さないため、新しいものを作成しますが、ストーリーボードのものは作成しません。 – Larme
@ Larme ok、それを修正する方法は? –
'vc'はストーリーボードでインスタンス化されます。 [この回答](https://stackoverflow.com/a/32139127/5501940)を確認してください。 –