由于某些奇怪的原因,使用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:
有什么建议吗?或者这只是一个错误?
答案 0 :(得分:57)
您的方法根本没有被调用,因为您的签名错误。它在Xcode 8 beta 6中更改为:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
请注意,sender
的类型为Any?
而非AnyObject?
。升级Xcode之后你应该出现一个错误,它告诉你你的方法并没有覆盖其超类中的任何方法,这些方法应该在你删除override
之前解决你的问题。