2009-06-12 5 views
1

J'ai un objet contrôleur ObjC.Contrôleurs de cacao - meilleure pratique pour notifier à la fin, pour l'élimination?

Après alloc/init de l'objet, je reçois à faire un travail de manière asynchrone:

[myObject doSomeThingsOverTime];

La méthode met en mouvement, puis retourne immédiatement.

Question: Quelle est la meilleure façon d'être informé du résultat à l'avenir, afin que je puisse libérer myObject et réagir aux travaux ayant été achevés? Devrais-je observer/poster des notifications? Ou fournir l'objet avec une méthode de rappel? Ou autre?

Répondre

2

Je suis personnellement fan du centre de notification itinéraire. Cela permet plus d'un observateur (peut ou peut ne pas être pertinent pour vous).

L'itinéraire délégué est également valable, et est utilisé assez fréquemment dans les cadres.

Je pense qu'il est question de préférence personnelle. Si c'est votre propre code, vous devriez opter pour ce qui est le plus lisible et simple pour votre situation particulière. Je ne pense pas que l'un soit plus ou moins valide que l'autre.

+0

Merci! Je vais rester avec les notifications alors. À votre santé. – SirRatty

1

Avez-vous regardé les classes NSOperation et NSOperationQueue? Vous pouvez observer le isFinished d'un objet NSOperation afin que vous soyez averti quand il est terminé.

Questions connexes