2011-01-28 4 views
0

トピックでは、イベント処理の理解に問題があるとしています。iOSデバイスでのイベント処理の理解の問題

基本的に私は次の問題を抱えています。他のクラスから静的呼び出しを取得するクラスがあります。そのような呼び出しが来たら、これを聞く他のクラスに通知を送るべきです。

私はNSNotificationCenterがあることを知っていますが、私はそれを見ているように、これはどういうわけか他の方法arround動作しますか?

誰かが私をここで助けてくれることを願っています。

-mcb

+0

**代議員**の使用はどうですか?私はあなたの必要に合っていると思います。 – EmptyStack

+0

実際には、私は通知が必要な複数のクラスがあるので、NSNotificationCenterを使用する必要があります。私が理解したように、代議員は1つのみで働きますか?私がここに間違っているかどうか知らせてください。 – eemceebee

+0

あなたの質問は何ですか?通知を受けたいクラスは、特定の通知のオブザーバーとして自分自身を追加し、通知クラスは通知を通知します。あなたはそれを正しく持っています。 –

答えて

0

NSNotificationCenter使用する超簡単です。

一つのクラスは言う:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 
[center postNotificationName:@"UniqueNotificationName" 
         object:self]; 

とTa-DA:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 
[center addObserverForName:@"UniqueNotificationName" 
        object:self 
        queue:nil 
       usingBlock:^{ 
    NSLog(@"I just got notified of UniqueNotificationName!"); 
    //whatever else you want to do when you receive this notification 
}]; 

その後、別のクラスは言います!第1クラスに、第2クラスが通知を発したことを通知しました。簡単なピーシー。

ブロックがあなたを脅かす場合(私が実際に作業を始める前に彼らが私を脅してくれた)、セレクタを取る「addObserver」のバージョンもあります。綴り方を教えてください。 IMO NSNotificationCenterのクラス文書は、ほとんどのユーザには必要のない方法で操作しますので、あなたがそこに行ったら心配する必要はありません。