2011-11-21 66 views
4

我已經下載了一個包含三個xib(A.xib,B.xib和C.xib)的Xcode項目。我注意到:Xcode如何決定首先加載哪個xib?我該如何改變它?

  • 它們都沒有被稱爲「MainWindow.xib」。
  • 主界面值設置爲主窗口
  • 主要筆尖文件基本名稱沒有設置
  • MAIN.C沒有指定應用程序的委託或者int retVal = UIApplicationMain(argc, argv, nil, nil);
  • 項目總結

不過,當我構建&運行時,應用程序會加載A.xib。 應用程序如何決定加載什麼?

我使用的是Xcode 4,我的目標是iOS 5. 謝謝。

回答

5

您可以在應用目標的摘要選項卡中設置Main Interface

看到這個圖片:

Main Interface

編輯:或者,像艾倫寫道,你可以將它設置在你的Info.plist文件。

編輯2:哦。我明白你的問題是什麼。您可以使用MainWindow作爲主.xib文件,但必須編輯在MainWindow中加載哪個.xib。打開MainWindow.xib,並選擇使用的視圖控制器。如果我是對的,它的課程設置爲A。如果要使用B.xib,則必須將該類更改爲B。您還必須在Attribute Inspector中設置用於視圖控制器的NIB。

坐落在MainWindow.xib中正在使用的的UIViewController類:

Set the class

設置NIB:

Set the NIB

+0

謝謝。我試過這個,但是我碰到了。 '***由於未捕獲的異常'NSUnknownKeyException'而終止應用程序,原因:'[ setValue:forUndefinedKey:]:此類不是密鑰視圖編碼兼容的鍵值。 ***第一擲調用堆棧: (0x1df5052 0x1c15d0a 0x1df4f11 0x364032 0x2d5f7b 0x2d5eeb 0x2f0d60 0x83291a 0x1df6e1a 0x1d60821 0x83146e 0x833010 0x61314a 0x613461 0x6127c0 0x621743 0x6221f8 0x615aa9 0x20a3fa9 0x1dc91c5 0x1d2e022 0x1d2c90a 0x1d2bdb4 0x1d2bccb 0x6122a7 0x613a9b 0x1dcd 0x1d45) 終止叫做拋出exception'。你知道爲什麼嗎? –

+0

您設置的xib沒有UIWindow(或者沒有將插座連接到UIWindow)。每個應用程序必須在主xib中有一個鏈接的UIWindow。 –

+0

我在xib中添加了一個UIWindow,在AppDelegate.h中添加了一個IBOutlet,並在IB中連接了一些東西。但我仍然得到這個' - [UIApplication _preferredInterfaceOrientationGivenCurrentOrientation:]:無法識別的選擇器發送到實例0x6c59770 ***由於未捕獲的異常'NSInvalidArgumentException',原因:' - [UIApplication _preferredInterfaceOrientationGivenCurrentOrientation:]:無法識別的選擇器發送到實例0x6c59770' ***第一次擲出的呼叫堆棧:... 終止叫做拋出異常# –

0

在應用程序的Info.plist。

+0

您的意思是「主筆尖文件基本名稱」條目? –

+0

嗯,這是一個matsr展示給你的設置,所以只需在那裏改變。但請閱讀我在下面寫的評論。 –

+0

好的,謝謝。還有一個問題:如果這個值沒有設置,該怎麼辦? Xcode是否會查找屬於「NSObject 」子類的類? –

相關問題