SWIFT 4.0:覆盖“准备”必须是可用的声明将覆盖
问题描述:
我想苹果ARKit示例应用程序集成到我的应用程序。由于ARKit只是一个附加功能,所以我需要支持较低版本的iOS。我为所有的ARKit示例应用程序类添加了@available(iOS 11.0,*)标记......除了这1个错误之外,它几乎可用:“重写'prepare'必须与覆盖的声明一样可用。任何想法如何解决这个问题? enter image description hereSWIFT 4.0:覆盖“准备”必须是可用的声明将覆盖
答
你覆盖了一个名为prepare
方法,但你将其设定为可少比它在你继承的超类。如果是public
超类,它需要public
或open
,当你将其覆盖。同样,如果是用于iOS版本的iOS相比低11,你重写的实现必须有可用的相同的IOS版本。确保你已经使用适当的访问关键字标记了你的覆盖方法,并且它仍然是所有iOS版本中的@available
作为你继承的超类
答
对我来说是什么工作是添加上面的@available属性方法如下:
@available(iOS 11.3, *)
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
//...
}
您是否找到了解决方案? –