prepareForSegue 不适用于自定义 segue (swift)

prepareForSegue won't work with custom segue (swift)

我已经创建了一个自定义转场,但它一直出现同样的错误。即使我创建了一个真正简单的 UIStoryboardSegue Class.

也会发生这种情况

Overriding method with selector 'prepareForSegue:sender:' has incompatible type '(CustomOpenSegue, AnyObject?) -> ()'

我是这样称呼它的

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

    segue.iconFrame = sender!.view!.frame

}

我的自定义 segue 可以在没有 prepareForSegue 的情况下工作(在更简单的模式下),但我需要向 iconFrame 传递一个值才能按预期工作。

有什么建议吗?

改为

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue is CustomOpenSegue {
        let customOpenSegue = segue as! CustomOpenSegue
        customOpenSegue.iconFrame = sender!.view!.frame
    }
}

如果重写方法,则无法更改参数类型。