UIViewController en tant que singleton

J'ai un UIViewController dans une application de barre d'tabs. J'ai ajouté le controller du file MainWindow.nib (c'est-à-dire pas par programmation).

Ma question est comment puis-je faire de mon controller de vue un singleton? (Pour résoudre le problème de délégué Facebook).

Vous voulez probablement faire de votre "code de connection Facebook" un singleton (ou une partie du délégué de l'application), mais pas le controller de vue lui-même. Ensuite, il suffit de câbler la chose FB avec un controller de vue qui en a besoin.

Si vous voulez vraiment créer des singletons (mais je ne pense pas que vous le faites, s'il vous plaît repenser votre design – ce qui est "le problème des delegates Facebook" exactement?), Regardez ici dans l'exemple de code d'Apple

Vous pouvez faire de n'importe quelle class un singleton en ajoutant quelque chose comme ceci au file .m (et vous devez également append une déclaration au file .h):

 + (id)sharedInstance { static id sharedInstance; @synchronized(self) { if (!sharedInstance) sharedInstance = [[ClassName alloc] init]; return sharedInstance; } }