2009-12-14 8 views
13

Quelqu'un peut-il expliquer l'importance de NSNotificationCenter?Qu'est-ce que NSNotification?

Où les utiliser?

Quelle est la différence entre NSNotificationCenter et AppDelegate?

Répondre

29

Apple a fourni un modèle d'observateur dans la bibliothèque Cocoa appelée NSNotificationCenter.

L'idée de base est qu'un auditeur s'enregistre auprès d'un diffuseur utilisant un protocole prédéfini. À un moment ultérieur, le radiodiffuseur reçoit l'ordre de notifier tous ses auditeurs, où il appelle certaines fonctions sur chacun de ses auditeurs et transmet certains arguments. Cela permet un passage de message asynchrone entre deux objets différents qui n'ont pas besoin de se connaître les uns les autres, il leur suffit de connaître le diffuseur.

Vous pouvez trouver plus de détails à ce sujet ici: http://numbergrinder.com/node/32

Le délégué de l'application est un objet qui reçoit des notifications lorsque l'objet UIApplication atteint certains états. À bien des égards, il s'agit d'un modèle d'observateur un-à-un spécialisé.

Vous pouvez en lire davantage ici: What is the AppDelegate for and how do I know when to use it?

2

Si vous venez d'un arrière-plan Actionscript alors NSNotification est comme l'ajout d'auditeurs à des objets, je suppose.

1

NSNotification est comme avertir l'autre classe sur les changements qui se produiront si une action a lieu dans une autre classe.

+1

Bienvenue dans Stack Overflow! Vous avez répondu à une question plutôt ancienne, qui a déjà une réponse détaillée et acceptée. Lorsque vous répondez à une question, jetez un coup d'œil aux autres réponses et voyez si votre nouvelle réponse apporte de nouvelles idées. Sinon, je vous suggère de trouver d'autres questions à répondre. Bonne chance! – Marijn