Swift 4.2:覆盖'restoreUserActivityState'必须与它覆盖的声明一样可用

问题描述 投票:-1回答:1

我正在尝试实施Siri Shortcuts。为了处理它们,我必须覆盖restoreUserActivityState函数,但当我将它覆盖到继承自UIViewController的类时,会导致此错误:“重写'restoreUserActivityState'必须与声明它覆盖时一样可用”。我试图让我的课程和我的功能公开,但错误仍然存​​在。不知道如何解决这个问题?

ios swift siri
1个回答
0
投票

当您从超类覆盖重写方法时,您确保在子类中设置方法,其访问级别高于您继承的超类。您可以使用open关键字。

例:

class ViewController1: UIViewController {
    override func restoreUserActivityState(_ activity:NSUserActivity) {

    }
}

class ViewController2: ViewController1 {
    open override func restoreUserActivityState(_ activity: NSUserActivity) {

    }
}

我希望,它解决了你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.