Objective-C 基本講座

通知を使いアプリの中断を監視する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
NSNotificationCenterへの登録方法と、アプリの状態遷移をUIViewControllerで感知する方法を紹介します。
講師:
04:41

字幕

このレッスンでは NSノーティフィケーションセンター を紹介します アプリが起動したり アプリが中断されたりするタイミングを ビューコントローラー側で感知してみましょう その場合 NSノーティフィケーションセンター からの通知を受け取るようjにします このNSノーティフィケーションセンターは アプリ起動時に用意されている インスタンスを デフォルトセンターで取り出して 使います ターゲットアクションデザインパターンの 相手側を NSノーティフィケーションセンターに 固定することで 通知を行う側と 受け取る側が互いを知らずに連携できます アップルではこの連携方法を 通知と呼んでいます 今回は扱いませんが オブジェクトは NSノーティフィケーションセンター に対して独自の通知を発行する ようにも依頼できるので 不特定多数への一斉通信にも 利用されています アプリの表現の幅が広がるので 一度 NSノーティフィケーションセンターに ついて調べてみることをおすすめします ポストノーティフィケーション ネームメソッドなどを などを調べるといいでしょう NSノーティフィケーションセンターには ADDオブザーバーメッセージで 登録します 最初の引数で 通知を受け取るオブジェクトを指定し セレクターでメソッドを指定します ネームにはどのような通知を受けたいか を指定します 今回はシステムが用意している 文字列を使います オブジェクトは通知してくる相手を 特定したい場合に 使いますが 特定しないならニルを指定します 指定すると指定したオブジェクトからの 通知しか届かなくなります またセレクターに指定するメソッドに コロンをつければ 引数を受け取れますが その場合 送られてくるオブジェクトは NSノーティフィケーションセンター ではなく NSノーティフィケーション になる点には注意してください NSノーティフィケーションセンター への登録はリムーブオブザーバーで解除します Xコードの画面に切り替えます アプリの4つの状態に対して 通知をもらうように 登録しています それぞれ 呼び出されたメソッドでは 状況をコンソールに 出力するようにしています ランして試してみましょう コンソールには アクティブになったと出ています Xコードで止めずに ホームメニューで止めて下さい 非アクティブ状態 バックグランドに入ったと出ます アイコンをタップすると フォーグランドに入った アクティブになったとなり コマンドと shiftを押しながら hキーを2回押すと フォンボタンのダブルクリックとなります この場合非アクティブ状態 とだけ出ます そのまま自分を選べば アクティブになった、に戻ります 電話が鳴った時や 通知センターを出した時なども このようにアクティブ状態 非アクティブ状態の切り替わりで 終わる場合があります 状況によって 微妙にふるまいが変わることを 覚えておいてください もう一度やって 今度は ホーム画面を選ぶと そのままバックグランドに入った となります ソースに戻ります こういった通知は アップデリゲートは プロトコル経由で 定義されたメソッド経由で 受け取っていますが ビューコントローラーなどには 何も連絡されません ビューコントローラー側で アプリの状態を見張りたい時などには この NSノーティフィケーションセンター を利用してください ほかにキーボードが画面に現れたりとか ステータスバーが変化したとか いろいろな通知があります ちなみに今回の ビューコントローラーは アプリが終了するまで 片付けられることはありませんが それ以外の 追加で作成される UIビューコントローラーは 用がなくなると片付けられます その場合そのまま ノーティフィケーションセンターに 通知先として登録しておくと 片付けられたオブジェクトに 通知を送ろうとして 実行時エラーとなります ディアロックなどで 必ず登録を 解除するようにしてください このレッスンでは NSノーティフィケーションセンター を紹介しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。