2010-05-26 59 views
9

我決定以編程方式加載我的看法,所以把:正確使用UIApplicationMain

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

是行不通的。不過,我確實有一個ViewController和一個AppDelegate。如何正確使用UIApplicationMain來使用ViewController和AppDelegate。
PS我不使用XCode或Interface Builder,我正在開發工具鏈。

回答

16

This function is declared as

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

既然你沒有繼承的UIApplication,通過nil到第三個參數。但是你有一個自定義的UIApplicationDelegate。所以把它的類名傳給第四個參數。

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

子類化UIApplication有什麼好處? – 2010-05-26 21:12:41

+0

@Mohit:要替換UIApplication的某些默認行爲,例如'sendAction:到:來源:forEvent:'。 – kennytm 2010-05-26 21:16:30

+16

用NSStringFromClass([AppDelegate類])替換@「AppDelegate」來避免魔術字符串,以防萬一您將AppDelegate重命名爲其他字符。 – George 2011-02-19 16:59:17