2017-10-14 18 views
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! 

デバッグで私はそれがゼロであることがわかります。どうして?

+0

'let vc = DetailCharacterViewController() 'は、ストーリーボードの" in/linked "というViewControllerを呼び出さないため、新しいものを作成しますが、ストーリーボードのものは作成しません。 – Larme

+0

@ Larme ok、それを修正する方法は? –

+0

'vc'はストーリーボードでインスタンス化されます。 [この回答](https://stackoverflow.com/a/32139127/5501940)を確認してください。 –

答えて

関連する問題