2016-10-23 8 views
0

ユーザー通知を使用するアプリを設定しています。私はすでに1つのアプリが働いています。私はviewDidLoadで次の操作を行います。ユーザー通知デリゲートが機能しないのはなぜですか?

UNUserNotificationCenter.current().delegate = self 

これは、次のコンパイラエラーを生成します:奇妙な何

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

は、私はまったく同じことを行うと、それが正常に動作し、他のアプリです。何が起こっているのでしょうか?

+0

ViewControllerはUNUserNotificationCenterDelegateに準拠していますか? – azimov

+0

ああ - それは問題です。ありがとう。 – 4thSpace

答えて

0

プロトコルを実装するようにクラスを宣言する必要があります。UNUserNotificationCenterDelegate。このプロトコルのメソッドはすべてオプションであるため、実際には以下の空の実装を持つコードではコンパイルには十分ですが、notitificationで意味のあるものを実行するには、少なくとも1つ実装することをお勧めします。

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

    extension ViewController: UNUserNotificationCenterDelegate { 

    } 
関連する問題