Excuses d'avance si les titres de la question sont exacts. J'ai décrit ci-dessous le flux de base de ce que je veux accomplir.Création d'une classe de délégué global dans AppDelegate
AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate, SomeFrameworkDelegate, OtherFrameworkDelegate>
…other init stuff
AppDelegate.m
- Inclure les méthodes
SomeFrameworkDelegate
etOtherFrameworkDelegate
. - Ces méthodes génèrent principalement des messages tels que connecté/déconnecté du service.
MainViewController
- faire des choses avec ces méthodes de délégués.
- Effectuez des actions d'interface utilisateur lors de la connexion/déconnexion. etc
DetailsViewController
- Utilisez la même chose que dans le MainViewController.
NOTES:
Je suppose que je serais de variables globales dans le AppDelegate, puis dans l'autre code de l'interface, je serais en train de créer une instance de la AppDelegate:
AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication]delegate]; appDelegate.isConnected = ... appDelegate.serviceName = ...
Comment pourrais-je détecter w Quand un message arrive aux méthodes du délégué? NSNotificationCenter/NSTimer?
C'est-à-dire de publier une notification une fois qu'une méthode déléguée est déclenchée ou de créer un temporisateur pour interroger les variables dans appDelegate.
Voulez-vous dire cela; vous avez des variables dans votre AppDelegate et vous voulez que les autres classes soient averties quand elles changent de valeur? Si oui, vous devriez probablement utiliser KVC ... sinon je ne comprends pas complètement votre question. –
Étant donné que vous modifiez les valeurs dans les méthodes déléguées, vous pouvez publier une notification. De cette façon, tous les contrôleurs View intéressés seront tous informés à ce sujet. –