Tableview零,但存在故事板
问题描述:
我有视图控制器,它已连接到tableView。我提出控制器这样的: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()'不是调用ViewController“in/linked with”故事板,而是创建一个新的故事板,但不是故事板中的一个。 – Larme
@Larme好吧,如何解决它? –
'vc'应该由其故事板实例化;检查[这个答案](https://stackoverflow.com/a/32139127/5501940)。 –