swift 3准备(for segue :)功能坏了吗?

时间:2016-09-19 00:19:16

标签: ios swift segue swift3

由于某些奇怪的原因,使用swift 3,0 2 1 1 3 2 方法拒绝确认segue标识符。我将以下IBAction连接到用户界面上的几个按钮:

prepare(for segue:

然而,在我的@IBAction func goToImagesPicker(_ sender: AnyObject) { performSegue(withIdentifier: "showImagePicker", sender: sender) } @IBAction func goToNamePicker(_ sender: AnyObject) { performSegue(withIdentifier: "showNamePicker", sender: sender) } 方法中,它并不识别不同的segue标识符,我知道这是因为我的控制台没有记录我分配给每个标识符的消息:

prepare(for segue:

有什么建议吗?或者这只是一个错误?

1 个答案:

答案 0 :(得分:57)

您的方法根本没有被调用,因为您的签名错误。它在Xcode 8 beta 6中更改为:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

请注意,sender的类型为Any?而非AnyObject?。升级Xcode之后你应该出现一个错误,它告诉你你的方法并没有覆盖其超类中的任何方法,这些方法应该在你删除override之前解决你的问题。