我剛剛得知我的applicationDidFinishLaunching
未被觸發。在這裏進行搜索,似乎我需要將我的AppDelegate
設置爲我的主窗口的delegate
。如何在XCode 4.3中連接AppDelegate?
這裏的答案解釋瞭如何使用main.xib在IB中完成它。我在Xcode 4.3.2上使用故事板。如何在故事板上做同樣的事情?
謝謝。
我剛剛得知我的applicationDidFinishLaunching
未被觸發。在這裏進行搜索,似乎我需要將我的AppDelegate
設置爲我的主窗口的delegate
。如何在XCode 4.3中連接AppDelegate?
這裏的答案解釋瞭如何使用main.xib在IB中完成它。我在Xcode 4.3.2上使用故事板。如何在故事板上做同樣的事情?
謝謝。
不可以。您不會將應用程序委託設置爲主窗口的委託,而是共享的UIApplication實例(在另一種情況下,它將稱爲窗口委託)。你最好改變你的main()
函數;調用
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegateClass");
,而不是默認
int retVal = UIApplicationMain(argc, argv, nil, nil);
電話。請注意0已被棄用。您可能需要轉換到新的代理方法。
application:didFinishWithLaunching:
委託方法。
感謝您的澄清。目前我的main.m讀取'return UIApplicationMain(argc,argv,nil,NSStringFromClass([SMAppDelegate class]));',當我創建一個項目時它實際上是默認的。我仍然沒有看到'applicationDidFinishLaunching'被觸發。 – Steven 2012-04-28 17:38:46
好吧,那真是奇怪。它應該工作! – 2012-04-28 17:48:40
測試結果..我創建了一個新的簡單項目,發現'applicationDidFinishLaunching'完全不存在。我把我的'NSLog'移到'application:didFinishLaunchingWithOptions'中,一切都按照預期工作。也許這是我編造的一個愚蠢的編輯或什麼..謝謝。 – Steven 2012-04-28 17:59:34
在Xcode 3.2或5.1或4.2中也是如此。 Xcode只是一個IDE而不是語言:) – 2014-01-22 20:49:49