NSNotificationCenterが正常に検出できない。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーNSNotificationCenterが正常に検出できない。701件1現在テーブルビュー2枚、再生画面1枚で音楽プレイヤーを作成しています。[アルバム一覧(ViewController.swift)]↓[選択されたアルバムの曲一覧(songsViewController.swift)]↓[再生画面(playerViewController.swift)]その他に再生の制御を行うplayerController.swiftがあります。再生にAVAudioPlayerを使用しており、audioPlayerDidFinishPlayingを検出したら通知を用いてどの画面にいても再生終了を検出しようとしています。以下はそれぞれの.swiftに書いたコードです。【playerController.swift】ここにAVAudioPlayerも宣言されています。NSNotificationCenter.defaultCenter().postNotification(notification)}他の三つのViewControllerには通知を検出するコードをviewDidLoad()以下に書いています。//次の曲へ移動する処理を書いています。}これでは画面遷移する度に通知登録されてしまうので、画面移動時に削除しています。nc?.removeObserver(self)}以上のように通知に関するコードを書いたのですが、再生画面にいる時にしか再生終了時の処理が行われません。正確には「どのページにいても再生終了は検出するが、再生終了時の処理が行われない」となります。->セレクタである"myAction"の処理内容が実行されない。どの画面にいても通知を検出するには何が足りないのでしょうか?アドバイスをお願いいたします。票1viewDidLoad()はその名の通り、Viewが生成されたタイミングでしか呼び出されません。複数のViewControllerを跨いで通知を受け取りたい場合、NSNotificationCenterのaddObserver()で登録するタイミングを、viewDidAppear()に変更してみてはどうでしょうか。個の銅バッジviewDidLoad()は画面が表示する度に実行されるものだと勘違いしていました。ご指摘通りviewDidAppear()に変更したところ正常に動作するようになりました。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。会を開催します🎉サイトの未翻訳箇所を見つけて、もくもく会で直しましょう関連する質問1storyboardの遷移でエラーが出ます。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。