我已經使用xcode重構來更改ViewController的名稱。我在.h文件中突出顯示控制器名稱,然後使用編輯>重構>重命名。一切都正確更改,包括.xib文件的名稱。但是,當我用initWithNibName加載nib時:無法識別新名稱。我仍然必須提供控制器舊名稱的字符串值。NIB名稱不變使用xcode重構
我試圖在.xib文件中使用XML編輯器搜索舊名稱,希望在那裏更改它。沒有運氣。
有誰知道我可以如何更改筆尖名稱,以便它匹配.xib文件的新文件名?
[我使用的Xcode 4.2]
我已經使用xcode重構來更改ViewController的名稱。我在.h文件中突出顯示控制器名稱,然後使用編輯>重構>重命名。一切都正確更改,包括.xib文件的名稱。但是,當我用initWithNibName加載nib時:無法識別新名稱。我仍然必須提供控制器舊名稱的字符串值。NIB名稱不變使用xcode重構
我試圖在.xib文件中使用XML編輯器搜索舊名稱,希望在那裏更改它。沒有運氣。
有誰知道我可以如何更改筆尖名稱,以便它匹配.xib文件的新文件名?
[我使用的Xcode 4.2]
的XCode不會改變使用文字字符串(例如initWithNibName:@"FooViewController withBundle:nil]
)到initWithNibName電話。這是我傾向於這樣編碼的原因之一:initWithNibName:NSStringFromClass([FooViewController class]) withBundle:nil
因此,請在您的代碼中查看任何使用文字字符串的調用。
QUICK EDIT:但是,我發現你可能已經手動更改了它。在這種情況下,請快速卸載並清理項目。
不需要手動調用'NSStringFromClass'。如果你想加載與你的班級同名的筆尖,你可以使用'nil'作爲筆尖名字。 – Sven 2012-04-01 15:49:14
是的,你也可以做到這一點,但偶爾它不適合我......我不知道爲什麼>< – borrrden 2012-04-01 15:50:28
你的快速編輯得到了我的問題的根源。如果我將字符串文字更改爲新的筆尖名稱,我會在initWithName中出現故障。我已重新安裝並清理無效。表明某個地方舊名稱仍然用於筆尖。那個舊名字被存儲在哪裏是一個謎。然而,我已經採取了Sven的建議,並在initWithNibName中使用nil作爲nib名稱:並且它工作正常。我不知道你可以這樣做!所以舊名仍然被埋在某處,但我不會擔心它,因爲它不會顯示在我的代碼中。 – lp1756 2012-04-01 17:30:58
你有沒有嘗試清理你的項目? – Sven 2012-04-01 15:36:05