2012-08-16 4 views
1

Je me demande simplement si quelqu'un a déjà eu l'occasion d'activer de grandes quantités d'observateurs NSNotification à la fois?Observateur NSNotification En-tête

Quel est le surdébit d'un observateur? Est-il raisonnable de faire courir, disons, 50 ou 100 observateurs ou plus à la fois?

J'ai une application qui affiche une liste déroulante des médias de base de données et je veux mettre en œuvre NSNotificationCenter comme une méthode évolutive d'écoute des morceaux individuels de médias et de les attribuer aux UIViews appropriés

Cheers, Doug

+2

Est-ce que vous observez l'objet de vente à partir de plusieurs endroits ou tout simplement en affichant un grand nombre de notifications? En outre, vous devriez reconsidérer votre conception de classe pour suivre d'autres modèles. Avoir à compter fortement sur NSNotificationCenter en est une indication. – J2theC

Répondre

0

Je vais suivre les conseils de J2theC sur celui-ci ..

Je suis actuellement en train de la conception modèle pour utiliser des méthodes de délégué pour éviter tout gel ..

Merci pour les commentaires!

+0

quel est le point de réinventer le cycle .. Apple a fait la même chose. Apple vous a fourni un modèle de délégation et des notifications pour la même raison. –

1

La notification n'a pas de frais généraux si elle est traitée en arrière-plan. Si vous traitez NSNotification dans un seul thread, n'importe lequel des observateurs peut mal gérer ce qui conduirait à un thread bloquant. Si ce thread se trouve être le thread principal (dans votre cas, il est) alors l'application va geler.

Cela dépend de la façon dont la notification est traitée. L'envoi de notifications n'est pas un surcoût, elles ne sont que des appels de méthode de 50 à 100 comme toutes les autres méthodes. (J'ai 5000 méthodes dans mon application). Le problème est de savoir comment il est géré. Si chaque observateur bloque la notification pendant une longue période, rien ne peut être fait. Je suggère d'utiliser les files d'attente NSNotification à la place NSNotification Queue

Si le temps le permet, je vous suggère également de se référer reading article on Objects Communication by apple.