0
我有視圖控制器,它已連接到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)。 –