2010-07-05 4 views
2

J'ai 2 classes.NSNotificationCenter: pass Notification entre 2 classes

La classe 1 obtient des informations à travers le réseau. Lorsque l'une de ces informations arrive, class1 doit envoyer une notification à class2.

i compris de sorte que je dois mettre

[[NSNotificationCenter defaultCenter] postNotificationName:at"anyUserNotification" object:class2]; 

dans Class1

[[NSNotificationCenter defaultCenter] addObserver:self selector:atselector(anyInteraction:) name:dontKnowTheSense object:dunno2]; 

ont i compris l'objet: class2 dans le droit postnotification? si oui: est-il possible de faire une notification anonyme, de sorte que la classe d'envoi ne doit pas savoir, qui et combien de classes écoutent? ou - au moins je le pense, ai-je compris toute la notification incorrecte?

en plus de la notification je ne besoin de passer de données, mais dans un cas, il serait utile de passer un ENUM

donc, quelqu'un pourrait me aider s'il vous plaît?

BTW: je ne peux pas trouver un moyen de poster une à ce PC Windows et je ne sais pas, pourquoi il n'a pas indenter le code, je pense que je l'ai fait 4 espaces

Répondre

3

objet n'est pas un argument obligatoire vous peut le définir à zéro ou l'objet envoyant le message de notification. Lorsque vous écoutez, vous pouvez filtrer pour ne faire quelque chose que pour une notification envoyée par un expéditeur spécifique.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sel) name:@"NotificationName" object:notificationSenderOrNil]; 

Et vous pouvez transmettre vos données dans un dictionnaire avec l'argument userInfo:.

Est-ce correct avec ça?

+0

je pense ainsi, des sons compréhensibles – nico

+0

je l'ai essayé, cela fonctionne comme je le veux pour travailler, merci – nico