背景:直到Xcode 4.2,使用任何模板創建的新項目都將包含MainWindow.xib,因此將傳遞nil作爲UIApplicationMain()的第四個參數。從Xcode 4.2開始,所有模板都通過傳遞類字符串作爲第四個參數來實例化應用程序委託,並且不要在xib中構建應用程序的窗口。Xcode 4.2模板更改 - UIApplication&MainWindow.xib
在4.2中完成這個設置很簡單,當然它的工作原理如下:創建xib設置UIApplication的文件所有者並連線代理,在Info.plist中指定它,在main()中爲nil第四個參數。
問題:爲什麼蘋果鼓勵實例化應用程序委託並在代碼中構建UIWindow而不是「舊方式?」有什麼好處?
注意事項:我希望這個新的模板的行爲,如果你選擇使用故事板的方式來管理用戶界面,但如果取消選中「使用故事板」我本來期望老通零和使用的-MainWindow.xib模板。
這個問題被問到迂迴的方式here,但答案有點討論。
感謝您提供有關設置文件所有者和連線委託的提示;考慮到蘋果公司進行的快速工具更改,我無法遵循僅12個月的時間,但相當不合時宜的書籍。 – trojanfoe