为什么用户通知委托不起作用?

时间:2016-10-23 21:28:55

标签: uiviewcontroller notifications swift3

我正在设置一个将使用用户通知的应用。我已经有一个应用程序工作了。我在viewDidLoad中执行以下操作:

UNUserNotificationCenter.current().delegate = self

这会产生以下编译器错误:

Cannot assign value of type 'ViewController' to type 'UNUserNotificationCenterDelegate?'

在另一个应用程序中有什么奇怪的,我做同样的事情并且工作正常。有什么想法发生了什么?

1 个答案:

答案 0 :(得分:0)

您必须声明您的课程以实施协议 UNUserNotificationCenterDelegate 。请注意,此协议中的所有方法都是可选的,因此实际上下面带有空实现的代码足以进行编译,但您可能希望至少实现其中一个方法,以便对通知进行任何有意义的操作。

    class ViewController: UIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
            UNUserNotificationCenter.current().delegate = self
        }
    }

    extension ViewController: UNUserNotificationCenterDelegate {

    }