2012-09-14 51 views
1

iOS6模擬器測試,點擊披露指示燈,當我收到以下錯誤:iOS6的:UIViewController中無法加載筆尖命名

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] was unable to load a nib named "LocationDetail"' 

它運行在iOS5完美的罰款。

我沒有LocationDetail筆尖了,也不需要使用它。我已經在我的整個項目中查看了它的參考,以及在我的MainWindow筆尖和所有可以使用它的連接,但是我找不到任何連接。

XCode將如何加載這個,爲什麼只有在iOS6

+1

你還有一個'LocationDetailViewController'類嗎? –

+0

是的,我仍然在使用它。我使用它創建它:LocationDetail * detail = [[LocationDetail alloc] initWithStyle:UITableViewStyleGrouped];在.m裏面沒有加載nib文件或任何東西的方法。沒有提及LocationDetail筆尖。 –

+0

在構建階段選項卡中查找複製包資源,並查看該xib文件是否仍然存在。如果是這樣,你可以從那裏刪除它。 – rdelmar

回答

0

我決定重命名我的類和.h和.m文件,並解決了問題。

誰知道爲什麼。

+0

它觸發了您的實現文件的重新編譯。 ;) –

+0

好東西。仍然無法弄清楚它是如何知道我的老筆尖的。 –

+1

可能有些默認的nib加載行爲 - 就像你做了[[MyViewController alloc] init]',默認情況下它會查找'MyViewController.xib'。 –

1

我知道那是什麼initWithStyle:UITableViewStyleGrouped將調用initWithNibName:軟件包:方法...

類有相同的名稱榫文件,所以當你叫initWithStyle:UITableViewStyleGrouped它試圖加載那個nib文件。

當您重命名您的班級時,它沒有找到具有相同班級名稱的筆尖,因此沒有像以前那樣出現錯誤。

+0

是的,但是nib文件已被刪除。早就沒了! –

+0

我有一個類似的問題之前...我做了什麼然後我執行乾淨(產品 - >清潔),通常它修復我的問題與刪除的文件。 – hsn

3

問題不在Xcode中,而是在iOS模擬器中。如果您已刪除項目中對.xib的所有引用,並按照所述清除了所有內容,則問題在於模擬器中的應用程序包中仍然存在.xib文件。您應該嘗試從模擬器中刪除應用程序(或者更好,在模擬器上重置所有內容&設置)。這將解決它。