2011-05-07 29 views
6

幫助我解決XCode4中的un-fubar界面構建器問題。如何修復Interface Builder的項目

我創建接口助洗劑一個按鈕,在視圖的代碼所定義的方法IBAction爲它。它運行良好。然後我使用XCode的重構/重命名工具重命名按鈕的操作方法。它運行良好。

然後,我通過選擇按鈕,並擊中刪除鍵刪除接口建設者的按鈕。當我重建項目時,按鈕仍然存在於模擬器中。回到界面構建器中,該按鈕不見了。代碼中沒有對按鈕的引用,但按鈕的IBAction方法仍然存在。

更糟糕的是,按鈕的原始操作方法獲取調用當然會拋出選擇的運行時異常沒有找到。當我做一個項目搜索的原始動作方法的名稱沒有發現,但運行時仍然試圖調用它。我做了一次「乾淨」的重建,但沒有歡樂。

如果我嘗試打開的.xib文件作爲ASCII屬性列表,它告訴我的數據已損壞。 (我想通了這一點。)

除了刪除的.xib文件,並創建一個新的觀點,有沒有什麼辦法解決這一問題?

「乾淨」如果不刪除二進制文件會怎麼做?

感謝您的幫助!

+0

如果您在文本編輯器中打開.xib文件,您是否看到奇怪的東西? – 2011-05-07 17:18:11

+0

@Jon Reid - 文本編輯器中的.xib看起來很好。它看起來像xib的xml表示中的對象與Interface Builder中的圖形表示中的對象相同。不知何故,XCode掛在一個陳舊的參考地方。 – LandedGently 2011-05-09 01:03:49

+0

嘗試重現此操作後,我相信它是由我重命名.xib文件(我在發佈原始問題時忽略提及,對不起)造成的。我使用XCode「Refactor」工具重命名了一些對象,但是我沒有看到如何使用Refactor重命名xib文件,所以我只是在Project Navigator中重命名了它。可能不是一個好主意。 – LandedGently 2011-05-09 19:07:53

回答

0

嘗試去在Xcode建設>清除所有目標,它應該修復它

+0

是的,我試過乾淨沒有效果。 (順便說一下,在XCode 4中,沒有Build菜單,Clean是在Product菜單下,並且沒有Clean All,我想它默認爲Clean All。) – LandedGently 2011-05-09 01:06:02

1

嘗試iPhone模擬器 - >重置內容和設置。 (爲了節省時間,Xcode的嘗試只有當這些資源已經改變了之前推出複製的資源,但如果事情已經過去了扭曲......)

+0

好的提示。我不認爲這導致了我的fubar。試圖重現問題後,我認爲這是由我的一個.xib文件重命名引起的。 – LandedGently 2011-05-09 19:03:15

+0

這是相當古老的,但似乎仍然發生。只是有一個XIB沒有改變我做的任何事情(添加按鈕,設置目標,文本...)。從模擬器中刪除應用程序有所幫​​助。 – Swissdude 2013-06-04 00:59:52

1

清潔並沒有爲我工作。根據我的經驗,Xcode保留了「編譯後的.xib」的緩存而不考慮時間戳(嘗試將xib替換爲同名的xib)。我的修復是修改每個需要刷新的視圖。非常令人沮喪,但它工作。

相關問題