トピックでは、イベント処理の理解に問題があるとしています。iOSデバイスでのイベント処理の理解の問題
基本的に私は次の問題を抱えています。他のクラスから静的呼び出しを取得するクラスがあります。そのような呼び出しが来たら、これを聞く他のクラスに通知を送るべきです。
私はNSNotificationCenterがあることを知っていますが、私はそれを見ているように、これはどういうわけか他の方法arround動作しますか?
誰かが私をここで助けてくれることを願っています。
-mcb
トピックでは、イベント処理の理解に問題があるとしています。iOSデバイスでのイベント処理の理解の問題
基本的に私は次の問題を抱えています。他のクラスから静的呼び出しを取得するクラスがあります。そのような呼び出しが来たら、これを聞く他のクラスに通知を送るべきです。
私はNSNotificationCenterがあることを知っていますが、私はそれを見ているように、これはどういうわけか他の方法arround動作しますか?
誰かが私をここで助けてくれることを願っています。
-mcb
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のクラス文書は、ほとんどのユーザには必要のない方法で操作しますので、あなたがそこに行ったら心配する必要はありません。
**代議員**の使用はどうですか?私はあなたの必要に合っていると思います。 – EmptyStack
実際には、私は通知が必要な複数のクラスがあるので、NSNotificationCenterを使用する必要があります。私が理解したように、代議員は1つのみで働きますか?私がここに間違っているかどうか知らせてください。 – eemceebee
あなたの質問は何ですか?通知を受けたいクラスは、特定の通知のオブザーバーとして自分自身を追加し、通知クラスは通知を通知します。あなたはそれを正しく持っています。 –