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

时间:2015-04-29 14:23:34

标签: ios swift segue

我创建了一个自定义segue并且它一直给出相同的错误。即使我创建了一个真正简单的UIStoryboardSegue类,也会发生这种情况。

  

使用选择器'prepareForSegue:sender:'的覆盖方法   不兼容的类型'(CustomOpenSegue,AnyObject?) - > ()'

这就是我的称呼方式

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

    segue.iconFrame = sender!.view!.frame

}

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

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

更改为

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

如果覆盖方法,则无法更改参数类型。

相关问题