问题描述
我也在尝试从带有 tableview 的 viewcontroller 推送到带有 tableview 的另一个视图,
func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
print("Clicke\(indexPath.row)")
guard let vc = storyboard?.instantiateViewController(withIdentifier: "SecAdsViewController") as? SecAdsViewController else { return }
vc.data = data[indexPath.row]
self.navigationController?.pushViewController(vc,animated: true)
}
代码看起来不错,故事板 id 也是正确的,但是当我点击单元格并且没有操作时它没有推送,控制台响应也很好
解决方法
正如您在评论中提到的,最好的解决方案是创建一个新的故事板。 试试这个
let storyboard = UIStoryboard(named: "Sections",bundle: "nil")
guard let vc = storyboard.instantiateViewController(withIdentifier: "SecAdsViewController") as? SecAdsViewController else { return }
vc.data = data[indexPath.row]
self.navigationController?.pushViewController(vc,animated: true)
此解决方案假设您在 Sections 故事板中没有 NavigationController,这在任何情况下都是您不想要的,因为您在另一个故事板中已经有了 NavigationController。