prepareForSegue 不适用于自定义 segue (swift)
Posted
技术标签:
【中文标题】prepareForSegue 不适用于自定义 segue (swift)【英文标题】:prepareForSegue won't work with custom segue (swift) 【发布时间】:2015-04-29 14:23:33 【问题描述】:我创建了一个自定义 segue,但它一直给出同样的错误。即使我创建了一个真正简单的 UIStoryboardSegue 类,它也会发生。
选择器“prepareForSegue:sender:”的覆盖方法有 不兼容的类型 '(CustomOpenSegue, AnyObject?) -> ()'
我是这样称呼它的
override func prepareForSegue(segue: CustomOpenSegue, sender: AnyObject?) segue.iconFrame = sender!.view!.frame
我的自定义 segue 将在没有 prepareForSegue 的情况下工作(在更简单的模式下),但我需要向 iconFrame 传递一个值才能使其按预期工作。
有什么建议吗?
【问题讨论】:
【参考方案1】:改成
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
if segue is CustomOpenSegue
let customOpenSegue = segue as! CustomOpenSegue
customOpenSegue.iconFrame = sender!.view!.frame
如果你重写了一个方法,你就不能改变参数类型。
【讨论】:
它不起作用,因为 UIStoryboardSegue 没有一个名为 iconFrame 的成员,它存在于我的自定义 segue 类中。有什么建议吗? 你说得对,我忘了添加类型检查和演员表。 非常感谢!非常感谢以上是关于prepareForSegue 不适用于自定义 segue (swift)的主要内容,如果未能解决你的问题,请参考以下文章
未从自定义 uitableviewcell 调用 prepareForSegue
自定义 UITableViewCell 不调用 prepareForSegue