UIApplication にカテゴリを追加したので、通知をリッスンしたいと思います。
それが私のクラスなら、init/dealloc でこれを行うことができます。しかし、組み込みクラスのカテゴリとして、最良のアプローチは何ですか?
UIApplication にカテゴリを追加したので、通知をリッスンしたいと思います。
それが私のクラスなら、init/dealloc でこれを行うことができます。しかし、組み込みクラスのカテゴリとして、最良のアプローチは何ですか?
ステップ 1: 通知イベントに作用するメソッドを作成する
-(void)myObserver
{
// some action here
}
ステップ 2: viewDidLoad メソッドでオブザーバーを作成し、それを ViewController クラスに登録して、アクションの通知を取得する
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myObserver) name:@"YourObserverKey" object:nil];
ステップ 3: 通知の投稿/起動。すべてのリスナーが通知を受け取ることができます。
[[NSNotificationCenter defaultCenter] postNotificationName:@"YourObserverKey" object:nil];
ステップ 4 : 見逃すことはありません。ViewController を離れるときにオブザーバーを削除してください。そうしないと、通常は viewDidUnLoad メソッドでアプリケーションがクラッシュする可能性があります。
[[NSNotificationCenter defaultCenter] removeObserver:self forKeyPath:@"YourObserverKey"];