Swift - 无法使用performSegueWithIdentifier

时间:2015-11-14 23:47:41

标签: ios iphone swift segue

我现在正在努力解决这个问题几个小时。 我有一个tableView和自定义单元格的视图。我想要做的是从自定义单元格执行我的viewController中的segue。我做的第一件事就是创建一个名为" parent"的变量。在我的cell.swift中,类型为" viewController"。

weak var parent : ViewController!

在那之后,我只是试图像这样执行segue:

parent.performSegueWithIdentifier("eventDetails", sender: parent)

我有以下错误:Receiver (<Deevent.ViewController: 0x7fb99074f5d0>) has no segue with identifier 'eventDetails'

所以我尝试了其他的东西......我在ViewController中创建了一个按钮,并将segue连接到下一个视图(故事板文件中的所有内容)

在我的viewController.swift中,我创建了以下函数

func viewEventDetails() {
    performSegueWithIdentifier("eventDetails", sender: self)
}

和我的cell.swift中的这个:

func viewEvent(sender: AnyObject) {
    parent.viewEventDetails()
}

因此,当我从单元格中调用它时,它会以与之前相同的错误崩溃,但是当我点击按钮时它会正常工作。我甚至试图以编程方式点击按钮btnDetails.sendActionsForControlEvents(UIControlEvents.TouchUpInside),我也有完全相同的错误。

我已经尝试清理我的项目并将其从模拟器中删除。我真的在这里错过了一些东西......希望有人可以帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

听起来你需要给你的segue一个标识符。

视图控制器可以有多个segue,因此您需要定义要使用的段。在您的情况下,您在代码中使用标识符"eventDetails"

假设您正在使用故事板,则需要单击两个视图控制器之间的segue箭头,并在右侧的Attributes Inspector中将Identifier值设置为"eventDetails"