在TableView中展开Optional值时,Swift意外地发现了nil

时间:2016-09-07 11:07:31

标签: ios swift uitableview tableviewcell pushviewcontroller

我知道这个问题多次问过,但我没有得到提示或答案。实际上我是swift的新手。我创建了一个带有UITableViewController子类的viewcontrollerr。当我点击表格行或didSelectRowAtIndexPath方法中的单元格我收到此错误fatal error: unexpectedly found nil while unwrapping an Optional value。  我正在尝试推送viewcontroller。

class SideMenuController: UITableViewController {
override func viewDidLoad() {
        super.viewDidLoad()
    }
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        print("Row \(indexPath.row) selected")
        switch indexPath.row {
        case 0:
            break
        case 1:
            let vc = addValueVC(nibName: "addValueVC", bundle: nil)

           //following line is giving error
           self.navigationController!.pushViewController(vc, animated: false)

            break
        default:
            break
        }

    }
}

1 个答案:

答案 0 :(得分:1)

由于您未使用UINavigationViewController,因此应更换此行

self.navigationController!.pushViewController(vc, animated: false)

用这个:

self.presentViewController(vc, animated: false, completion: nil)