背景: Xcode 4.2までは、いずれかのテンプレートを使用して作成された新しいプロジェクトにはMainWindow.xibが含まれるため、UIApplicationMain()の4番目の引数としてnilを渡します。Xcode 4.2以降、すべてのテンプレートは、クラス文字列を4番目の引数として渡すことによってアプリケーションデリゲートをインスタンス化し、xibでアプリケーションのウィンドウを構築しません。
4.2でこの設定を行うのは簡単で、もちろん期待どおりに機能します。ファイルの所有者をUIApplicationに設定するxibを作成し、デリゲートを接続し、Info.plistで指定し、main()で4番目の引数を指定します。
質問: Appleがアプリケーションデリゲートをインスタンス化し、「古い方法」ではなくコードでUIWindowを構築することを推奨しているのはなぜですか?メリットは何ですか?
考慮事項: UIを管理する方法としてストーリーボードを使用することを選択した場合、この新しいテンプレートの動作を期待しますが、[ストーリーボードを使用する]をオフにすると、古いpass-nil-and-use-MainWindow.xibテンプレートを期待します。
この質問はここで回りくどい方法で尋ねられましたが、答えは議論に少し薄いです。