1

UIApplication にカテゴリを追加したので、通知をリッスンしたいと思います。

それが私のクラスなら、init/dealloc でこれを行うことができます。しかし、組み込みクラスのカテゴリとして、最良のアプローチは何ですか?

4

2 に答える 2

1

ステップ 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"];
于 2013-04-02T17:48:24.580 に答える