Опубликовать уведомление с отправителем и объектом - PullRequest
3 голосов
/ 09 мая 2011

Я не могу выяснить, как разместить уведомление с объектом и отправителем.

Я могу опубликовать уведомление с именем, отправителем и информацией о пользователе.См .:

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

И я могу опубликовать NSNotification с объектом, но не связать с ним отправителя:

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

Может кто-нибудь сказать мне, как опубликовать уведомление с () объект и (б) ссылка отправителя?

1 Ответ

16 голосов
/ 09 мая 2011

В обоих предложенных вами методах переменная object представляет отправителя уведомления, который может быть любым, что вы действительно хотите.Чтобы предоставить дополнительные объекты с уведомлением, вы можете передать словарь с вашими объектами в userInfo.

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                      someObject, @"someObject",
                                      anotherObject, @"anotherObject", nil];
[[NSNotificationCenter defaultCenter] postNotificationName:name
                                                    object:sender
                                                  userInfo:options];
...