从 TabeViewCell 中的 UIButton 触发 Segue

Trigger Segue from UIButton in TabeViewCell

我有原型单元格,在这个单元格中有一个 UIButton;所以我需要执行从按钮到其他控制器的 segue,而不是从单元格。我尝试创建一个 Outlet @IBOutlet var button: UIButton! 并使用 performSegueWithIdentifier() 方法

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
    self.performSegueWithIdentifier("toSecondController", sender: button)
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

但我不知道如何设置 prepareForSegue() 方法...我试过了

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    if segue.identifier == "toSecondController"
    {
        if let indexPath = sender as? UIButton//tableView.indexPathForSelectedRow()
        {
            let controller = segue.destinationViewController as! CoriViewController
            controller.coriSquadra = DataManager.sharedInstance.arrayCori[indexPath.row]
        }
    }
}

我还读到一个解决方案是实施一个协议,但我是初学者,我需要一步一步的指导。 希望有人能帮助我!

你走在正确的轨道上。在你的 tableviewcontroller 中定义

@IBAction func clicked(){
    self.performSegueWithIdentifier("toSecondController", sender: button)
}

您可以保留

    tableView.deselectRowAtIndexPath(indexPath, animated: true)

您的 didSelectRowAtIndexPath 中的行。不要忘记将您的 ibaction 也连接到故事板中的按钮。