我正在尝试实施Siri Shortcuts。为了处理它们,我必须覆盖restoreUserActivityState
函数,但当我将它覆盖到继承自UIViewController
的类时,会导致此错误:“重写'restoreUserActivityState'必须与声明它覆盖时一样可用”。我试图让我的课程和我的功能公开,但错误仍然存在。不知道如何解决这个问题?
当您从超类覆盖重写方法时,您确保在子类中设置方法,其访问级别高于您继承的超类。您可以使用open关键字。
例:
class ViewController1: UIViewController {
override func restoreUserActivityState(_ activity:NSUserActivity) {
}
}
class ViewController2: ViewController1 {
open override func restoreUserActivityState(_ activity: NSUserActivity) {
}
}
我希望,它解决了你的问题。