1

アップルのドキュメントhttps://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsnotificationcenter_Class/Reference/Reference.htmlに3番目の引数オブ​​ジェクトの説明が表示されません

このようなすべての例で、Objective-CのNSNotificationCenterを介してイベントを送受信するクラスを作成するにはどうすればよいですか?ゼロです

誰もそれを説明しません:それで、なぜobject:nil?

いつゼロではないのですか?

4

2 に答える 2

7

特定のオブジェクトを見ているときは nil ではありません。

シナリオ: それぞれが NSNotificationCenter を介してイベントを発生させる 2 つのオブジェクトがあります。objectA のイベントのみを受け取りたいとします。

解決策: NSNotificationCenter を介してサブスクライブし、objectA を object パラメーターとして渡します。

于 2012-05-01T09:41:19.987 に答える
4

どのオブジェクトが通知を投稿したかを知る必要がある場合は、nil ではありません。を見てみましょう-(void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString *)notificationName object:(id)notificationSender

通知送信者

オブザーバーが受け取りたい通知のオブジェクト。つまり、この送信者によって送信された通知のみがオブザーバーに配信されます。

nilを渡すと、通知センターは通知の送信者を使用して通知をオブザーバーに配信するかどうかを決定しません。

(リンクした同じ NSNotificationCenter 参照から)

于 2012-05-01T09:41:08.473 に答える