質問: NSNotificationCenter.defaultCenter() nc?.removeObserver(self) } ``` 以上のように通知に関するコードを書いたのですが、再生画面にいる時にしか再生終了時の処理が行われません。 正確には「どのページにいても再生終了は検出するが、再生終了時の処理が行われない」となります。 再生終了 -> `audioPlayerDidFinishPlaying`に書いた`println("finish")`が表示される -> セレクタである`"myAction"`の処理内容が実行されない。 どの画面にいても通知を検出するには何が足りないのでしょうか? アドバイスをお願いいたします。
回答: `viewDidLoad()`はその名の通り、Viewが生成されたタイミングでしか呼び出されません。 複数の`ViewController`を跨いで通知を受け取りたい場合、`NSNotificationCenter`の`addObserver()`で登録するタイミングを、`viewDidAppear()`に変更してみてはどうでしょうか。