2010-05-26 8 views
9

J'ai décidé de charger mon point de vue programmation, mettant ainsi:Utilisation appropriée des UIApplicationMain

int ret = UIApplicationMain(argc, argv, nil, nil); 

ne fonctionnerait pas. J'ai un ViewController et un AppDelegate, cependant. Quelle serait l'utilisation correcte de UIApplicationMain pour utiliser un ViewController et un AppDelegate.
PS Je n'utilise pas XCode ou Interface Builder, je développe sur la chaîne d'outils.

Répondre

16

This function is declared as

int UIApplicationMain (
    int argc, 
    char *argv[], 
    NSString *principalClassName, 
    NSString *delegateClassName 
); 

Puisque vous ne l'avez pas sous-classe UIApplication, passer nil au 3ème argument. Mais vous avez un UIApplicationDelegate personnalisé. Donc passez son nom de classe au 4ème argument.

int retval = UIApplicationMain(argc, argv, nil, @"AppDelegate"); 
+0

Quel serait l'avantage de sous-classer UIApplication? –

+0

@Mohit: Pour remplacer un comportement par défaut de UIApplication, par ex. 'sendAction: to: de: pourEvent:'. – kennytm

+16

Remplacez @ "AppDelegate" par NSStringFromClass ([AppDelegate class]) pour éviter la chaîne magique au cas où vous renommeriez AppDelegate en autre chose. – George