3

我似乎不知道如何发布带有对象和发件人的通知。

我可以发布带有姓名、发件人和用户信息的通知。看:

- (void)postNotificationName:(NSString *)notificationName
                      object:(id)notificationSender
                    userInfo:(NSDictionary *)userInfo

我可以发布一个带有对象的 NSNotification,但不能将发件人链接到它:

NSNotification *notification = [NSNotification notificationWithName:name
                                                             object:someObject];
[[NSNotificationCenter defaultCenter] postNotification:notification];

谁能告诉我如何发布带有(a)对象和(b)发件人参考的通知?

4

1 回答 1

16

在您提出的两种方法中,object变量代表通知的发送者,它可以是您真正想要的任何东西。要为通知提供其他对象,您可以将带有对象的字典传递给userInfo.

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                      someObject, @"someObject",
                                      anotherObject, @"anotherObject", nil];
[[NSNotificationCenter defaultCenter] postNotificationName:name
                                                    object:sender
                                                  userInfo:options];
于 2011-05-08T21:27:30.650 回答