“方法不会覆盖其超类中的任何方法”Swift 3 [重复]
Posted
技术标签:
【中文标题】“方法不会覆盖其超类中的任何方法”Swift 3 [重复]【英文标题】:"Method does not override any method from its superclass" Swift 3 [duplicate] 【发布时间】:2016-10-11 18:25:46 【问题描述】:这段代码是swift 2
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
let playerViewController = segue.destination as! PlayerViewController
playerViewController.videoID = channelsDataArray[selectedVideoIndex]["videoID"] as! String
错误 “方法不会覆盖其超类中的任何方法”
请解决 swift 3
【问题讨论】:
这个方法里面是什么类?不是UIViewController
吗?
您是否打算覆盖超类中的方法?你的超类是什么?有没有类似的方法?
【参考方案1】:
在 Swift 3 及更高版本中,为prepare(for:sender:)
,第二个参数为Any
:
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
if let destination = segue.destination as? PlayerViewController
destination.videoID = channelsDataArray[selectedVideoIndex]["videoID"] as! String
以后,如果您暂时注释掉您的方法并开始输入prepare
,代码完成将向您显示正确的方法签名。
【讨论】:
Swift 4 也是如此以上是关于“方法不会覆盖其超类中的任何方法”Swift 3 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
覆盖 UICollectionView 的 UIPanGestureRecognizer