2010-05-26 12 views
9

habe ich beschlossen, meine Ansichten programmatisch zu laden, so setzen:Der richtige Einsatz von UIApplicationMain

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

nicht funktionieren würde. Ich habe jedoch einen ViewController und ein AppDelegate. Was wäre die ordnungsgemäße Verwendung von UIApplicationMain zur Verwendung eines ViewControllers und eines AppDelegate?
PS Ich benutze keinen XCode oder Interface Builder, ich entwickle auf der Toolchain.

Antwort

16

This function is declared as

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

Da Sie UIApplication nicht Unterklasse, nil zum dritten Argument übergeben. Aber Sie haben ein benutzerdefiniertes UIApplicationDelegate. Übergeben Sie den Klassennamen an das 4. Argument.

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

Was wäre der Vorteil einer Unterklasse von UIApplication? –

+0

@Mohit: Um ein Standardverhalten der UIApplication zu ersetzen, z. 'sendAction: zu: von: forEvent:'. – kennytm

+16

Ersetzen Sie @ "AppDelegate" mit NSStringFromClass ([AppDelegate-Klasse]), um die magische Zeichenfolge zu vermeiden, falls Sie AppDelegate jemals in etwas anderes umbenennen. – George