通过按钮通过内部的tableView以编程方式用UIViewController替换UITableViewController

时间:2018-08-07 20:32:54

标签: ios swift uitableview uiviewcontroller delegates

我知道标题有点奇怪,但是我尝试使用以下代码将UITableViewController替换为UIViewController

@objc func buttonAction(sender: UIButton!) {
    let newController = JobTableViewController()
    self.navigationController?.present(newController, animated: true, completion: nil)
}

但是每次我单击此按钮时,我在此代码行的ViewController中都会出现错误消息

tableView.delegate = self
  

线程1:致命错误:展开包装时意外发现nil   可选值

1 个答案:

答案 0 :(得分:0)

代替这个

let newController = JobTableViewController()

let newController = storyboard.instantiateViewController(withIdentifier: "VcId") as! JobTableViewController

您的vc位于stroryboard中,仅当以编程方式创建VC时,您才能使用JobTableViewController(),不要忘记在IB中的VC标识符中提供 VcId