TableView.delegate和segue到其他VC

时间:2016-11-09 16:05:38

标签: ios xcode segue

我想玩一些简单的动画,做To-Do-List,但是......

我对其他VC的segue有问题。 在一个ViewController上我有TableView和按钮。当你按下按钮你移动(segue - 推)到另一个VC,但.. ..

当另一个VC为空时,一切正常,但每当我向第二个VC添加任何文本字段或其他东西时,一切都会崩溃,并且错误是:“致命错误:在展开可选值时意外发现nil”显示在tableView.delegate = self

哦!忘了吧!每个插座都是正确的,并且单元格具有正确的ID。

我做错了什么?

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var tableView: UITableView!

let items: [String] = ["test1", "test2","tes3"]

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.dataSource = self
    tableView.delegate = self
    print(tableView)

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    cell.textLabel?.text = items[indexPath.row]
    return cell
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return items.count
}

func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

@IBAction func buttonPressed(_ sender: AnyObject) {
    performSegue(withIdentifier: "secondVC", sender: sender)
}

}

1 个答案:

答案 0 :(得分:0)

您的第二个VC分配了错误的类。在IB中,选择第二个视图控制器,然后选择“工具”面板的第3个选项卡。我的猜测是你将类设置为ViewController,但当然第二个VC应该是它自己的类。