Swift - View Controller调用了两次

时间:2015-08-18 19:41:59

标签: xcode swift view controller segue

嘿,我有一个小问题,

我设置了一个" tableviewcontroller"和一个" viewcontroller"。

接下来,我从" tableviewcontroller"中的原型单元创建了一个segue。到" viewcontroller"并命名为" detail"。

接下来我创建了一个" bar-button-item"在" tableviewcontroller"并创建了一个segue到另一个viewcontroller并命名为segue"编辑"。

根据按下的项目,我想要转到特定的视图:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    self.performSegueWithIdentifier("detail", sender: self)

}

// MARK: - Navigation

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if segue.identifier == "edit" {

        let recordController: SpecViewController = segue.destinationViewController as! SpecViewController

        recordController.record = record

    } else if (segue.identifier == "detail") {

        var DestViewController: DetailViewController = segue.destinationViewController as! DetailViewController

        DestViewController.parameter = "detail"

    }

}

我的问题是,当我按下tableviewcell时,目标视图控制器" DetailViewController"被叫两次!!

我不确定为什么会发生这种情况..

任何人都可以帮我解决这个问题吗?

问候和感谢

1 个答案:

答案 0 :(得分:0)

然后尝试:

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    var row = indexPath.row

    if row%2 == 0
     {
     self.performSegueWithIdentifier("edit", sender: self)
     }
    else
    {
     self.performSegueWithIdentifier("detail", sender: self)
    }


}