2012-03-17 62 views
31

我有一個故事板的iOS項目。我最近升級到了Xcode 4.3.1,現在這個新的警告出現了:如何解決Xcode 4.3.1中的這個新警告:「由於缺少入口點導致場景無法訪問......」?

「場景由於缺少入口點而無法訪問,並且沒有通過-instantiateViewControllerWithIdentifier:進行運行時訪問的標識符。」

問題是我有一些導航控制器在故事板中沒有入口點。我擁有它們的原因是,我可以在其中嵌入其他視圖,以便在設計時在Xcode中查看導航欄。這些視圖在運行時推送到的實際導航控制器不在故事板中(尚未移植到故事板的舊代碼)。

有沒有人找到一個很好的解決方法呢?我想保持我的代碼清潔,沒有警告。

+1

如果您只是想通過UI查看導航欄的外觀,可以將模擬頂部欄設置爲場景中的「導航欄」。這將導致導航條在場景中顯示(甚至會自動向下傳播任何推段)。 – retainCount 2012-03-23 16:52:56

回答

66

您可以設置一個標識符。在右側窗格上身份檢查器的Xcode> 5中,您會看到一個名爲「Storyboard ID」的字段。把任何字符串放在那裏,Xcode會很快樂。

它只是想知道你可以達到它(通過該標識符),如果你想。

+0

謝謝,它工作! – brians 2012-03-20 22:44:56

+0

哪裏是「標識符」部分?我似乎無法找到它 – nfoggia 2012-07-18 05:12:31

+0

選擇視圖控制器,然後選擇最左邊的「實用程序」窗格。它有幾個選項卡,左起第四個是「屬性」。該選項卡具有「模擬指標」和「視圖控制器」部分。 「標識符」位於「視圖控制器」部分。 – danh 2012-07-18 14:46:34

1

您可以點擊導航控制器上,並在屬性檢查器中單擊按鈕「是最初的視圖控制器」,這應該工作太

16

在Xcode中的新版本:只需在屬性檢查器中設置一個標題Title然後在控制器的Identity Inspector中的Storyboard ID中設置一個標識符。

10

您可能會意外地將視圖控制器複製並粘貼到真實控制器上。

嘗試拖動違規視圖以查看底部是否有任何內容。

+1

我不知道爲什麼這是0點,這正是我的問題!我試圖複製/粘貼視圖控制器,我認爲它不是這樣做的,但它只是把它放在老的一個上面,謝謝! – mgrandi 2013-02-09 01:52:17

+0

哦,上帝,爲什麼?..)我克隆了兩次!謝謝你的線索 – heximal 2013-05-29 12:15:55

+0

M也承認這個錯誤。我會記住這一個! – cheznead 2015-06-29 10:15:45

0

標題:設置「是初始視圖控制器」(使用的Xcode 6.1)

背景:建立與「場景不可達由於缺少入口點,並且不具有運行時的訪問標識符失敗通過-instantiateViewControllerWithIdentifier :.「

剛剛安裝了Xcode和第一次用戶,所以如果解釋缺乏適當的術語,請提前道歉。

分辨率:在我的情況下,「是初始視圖控制器」未被選中複選框

「是初始視圖控制器」屬性可以在默認的Xcode窗口的最右側窗格中找到或在查看 - >實用程序 - >顯示屬性檢查器

如果在「屬性檢查器」中看不到任何屬性,請在故事板區域中選擇「視圖控制器」。中間有一個正方形的小圓按鈕(或左側的第一個按鈕)

當您選擇「視圖控制器」時,您應該看到「屬性檢查器」框現在已填充各種屬性設置。

在「屬性檢查器」窗格中向下滾動到「視圖控制器」部分,如果未選中「初始視圖控制器」,請選中此項。

現在運行該項目。希望這有助於和工作。

1

在Xcode 6中 - 如果您有一個獨立的新視圖控制器,則可能會出現此錯誤。你可能已經創建了它,並沒有使用segue來連接屏幕。

1

您需要在「Identity Inspector」窗格的「Storyboard ID」字段中爲每個ViewController(包括導航控制器)設置一個標識符。

在「屬性檢查器」窗格中向下滾動到「視圖控制器」部分,如果未選中「初始視圖控制器」,請選中此項。

現在運行該應用程序。

相關問題