2013-04-01 54 views
7

控制器我從故事板加載視圖控制器明確和有這樣的代碼:無法明確地加載視圖從故事板

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil]; 
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"InitialScreen"]; 

,但我得到一個錯誤「「故事板()不包含考慮到與識別符「InitialScreen」」控制器

然而,正如可以從截圖中可以看出,視圖控制器確實有該標識符。我已經使用了相同的方式來加載控制器之前成功,但不知道爲什麼這次不工作。任何想法可能是什麼問題?

enter image description here

回答

5

我剛剛發現了這個問題 - 它與模擬器的問題,我能找到絕對沒有錯我的代碼,是100%肯定它是確定的,當我過這樣的情況,在過去我通常發現罪魁禍首是Xcode本身。所以,即使我已經清理並重建多次,我仍然決定嘗試重新設置模擬器中的內容,然後賓果就開始工作。我把它歸結爲模擬器緩存內容中的一個錯誤,而不是更新以反映IB所做的更改。

0

請問你的故事板名稱相匹配你試圖加載從視圖控制器的故事板文件的名稱?通常情況下,故事板被命名爲類似MainStoryboard_iPhone

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 

您也應該檢查,以確保有故事板ID文本字段沒有尾隨空格。除此之外,其他一切看起來都應該適用於我。

+1

是的。其實我剛剛發現了這個問題 - 它是模擬器的一個問題,我可以發現我的代碼絕對沒有問題,並且100%確定它沒問題,當我過去遇到這種情況時,我通常會發現罪魁禍首是Xcode本身。所以,即使我已經清理並重建多次,我仍然決定嘗試重新設置模擬器中的內容,然後賓果就開始工作。我把它歸結爲模擬器緩存內容中的一個錯誤,而不是更新以反映IB所做的更改。 – Gruntcakes

+0

啊,是的,我之前也遇到過這些問題。很高興你解決了這個問題。快樂的編碼! – bvogelzang

+0

@Mungbeans,爲了這個問題的其他人的利益,你可以考慮將你的解決方案作爲*答案*並接受。謝謝。 – Nate