2012-04-28 51 views
0

我剛剛得知我的applicationDidFinishLaunching未被觸發。在這裏進行搜索,似乎我需要將我的AppDelegate設置爲我的主窗口的delegate如何在XCode 4.3中連接AppDelegate?

這裏的答案解釋瞭如何使用main.xib在IB中完成它。我在Xcode 4.3.2上使用故事板。如何在故事板上做同樣的事情?

謝謝。

+0

在Xcode 3.2或5.1或4.2中也是如此。 Xcode只是一個IDE而不是語言:) – 2014-01-22 20:49:49

回答

3

不可以。您不會將應用程序委託設置爲主窗口的委託,而是共享的UIApplication實例(在另一種情況下,它將稱爲窗口委託)。你最好改變你的main()函數;調用

int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegateClass"); 

,而不是默認

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

電話。請注意0​​已被棄用。您可能需要轉換到新的代理方法。

application:didFinishWithLaunching: 

委託方法。

+0

感謝您的澄清。目前我的main.m讀取'return UIApplicationMain(argc,argv,nil,NSStringFromClass([SMAppDelegate class]));',當我創建一個項目時它實際上是默認的。我仍然沒有看到'applicationDidFinishLaunching'被觸發。 – Steven 2012-04-28 17:38:46

+0

好吧,那真是奇怪。它應該工作! – 2012-04-28 17:48:40

+1

測試結果..我創建了一個新的簡單項目,發現'applicationDidFinishLaunching'完全不存在。我把我的'NSLog'移到'application:didFinishLaunchingWithOptions'中,一切都按照預期工作。也許這是我編造的一個愚蠢的編輯或什麼..謝謝。 – Steven 2012-04-28 17:59:34