我正在设置一个将使用用户通知的应用。我已经有一个应用程序工作了。我在viewDidLoad
中执行以下操作:
UNUserNotificationCenter.current().delegate = self
这会产生以下编译器错误:
Cannot assign value of type 'ViewController' to type 'UNUserNotificationCenterDelegate?'
在另一个应用程序中有什么奇怪的,我做同样的事情并且工作正常。有什么想法发生了什么?
答案 0 :(得分:0)
您必须声明您的课程以实施协议 UNUserNotificationCenterDelegate 。请注意,此协议中的所有方法都是可选的,因此实际上下面带有空实现的代码足以进行编译,但您可能希望至少实现其中一个方法,以便对通知进行任何有意义的操作。
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UNUserNotificationCenter.current().delegate = self
}
}
extension ViewController: UNUserNotificationCenterDelegate {
}