[XCode]NSNotificationってなに?って人もとりあえずこれだけは知っておくべき
2013/09/06
異なるクラス間で通知や変数を渡したりできる便利なNSNotificationですが、ここでハマりにハマりました。
後片付けを知っておかないととんでもないことになります。
何度も通知される
主なNSNotificationCenterの使い方は以下の参考URLが非常にわかりやすいので、そちらを見ていただくとして、今回はその通知を受け取った後の注意点について述べたいと思います。
参考
NSNotificationCenter – iPhoneアプリ開発の虎の巻
NotificationCenterの注意点、それは何度も通知されるということ。詳細まではうまく説明できないのですが、Notificationを使った後の処理にブレークポイントを置いて実行してみると、1度しか呼ばれないはずのメソッドが何度も呼ばれてエラーが返ってきちゃう事象が発生。
これはいかん、ということでちょっと調べてみると、使ったNotificationは後始末をしなければいけないことがわかりました。
NSNotificationCenterを受け取った後の処理が全て終了したら、必ず削除しましょう。
登録したNotificationを全て削除する場合
[[NSNotificationCenter defaultCenter] removeObserver: self];
指定した名前のNotificationを削除
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"notificationの名前" object:nil];
この記事がなかったら、僕、もう無理だった。
ということで超便利なNSNotificationCenterですが、この点には気をつけましょう。
関連記事
-
プログラミングができるだけではプロジェクトは成功しない
プログラマーなのに最近は電話対応で1日が終わる僕です。いろんな所でうめき声ととも …
-
[XCode]Title set but using a system Identifierなる警告が出たときの対処法
最近iPhoneアプリ開発を始めた@hawk_aです。 StoryBoardを使 …
-
[XCode]ARC使用中にエラー「EXC_BAD_ACCESS」「respondsToSelector」が出た場合の対処法
なんでも、このエラーは解放済み(ゾンビ)のインスタンスにアクセスした時に出るエラ …
-
[XCode]StoryBoardで作ったTableViewCellでオリジナルのセルを表示する方法
TableView標準のセルではやりたいことが表現できなさそうな時には、Tabl …
-
[XCode]追加してインポートしたヘッダーファイルが見つからないときの対処法3つ
XCodeでインポートの宣言をした際(import <hoge.h> …
-
[XCode]UINavigationBarにUIBarButtonItemでボタンを追加する方法
アプリ開発には欠かせないナビゲーションバー。 UINavigationBarにボ …
-
[XCode]スキャナーで読み取れるバーコード(JANコード・Code39)をフォントで表示する方法と注意点
Passbookなどもそうですが、最近はクーポンや会員証などの電子化をよく目にし …
-
[XCode 4.3]Text Fieldの入力が終わったら次のText Fieldにソフトウェアキーボードでカーソルを移動させて最後にボタンを押す方法
XCodeをしこしこやっております。ほーく(@hawk_a)です。 プログラムの …
-
[XCode]iPhoneに入っていないフォント(カスタムフォント)を使えるようにする方法と注意点
iPhoneは結構いろんなフォントが使えますが、「オリジナルのフォントを使いたい …
-
信じられないほど簡単にオブジェクト指向って何?を解決してくれる本
「俺がやらなきゃ誰かやる」が合言葉の社会に生きている僕です。分からないことを分か …