“View Controller“ is unreachable because it has no entry points

“View Controller“ is unreachable because it has no entry points, and no identifier for runtime access via -[UIStoryboard instantiateViewControllerWithIdentifier:].

以上錯誤訊息,是初學者時常看到的黃色警告。到底它是什麼意思呢 ? 關鍵就在 unreachable 這個字也就是到不了的意思。

就像范瑋琪唱的,”我找不到,我到不了,你所謂的將來的美好。” 如下圖所示,我們的 App 永遠到不了可愛的哈士奇頁面,它就像孤兒一樣,沒有任何 segue 連到它,因此產生 “View Controller“ is unreachable 的錯誤訊息。

其實就算沒有 segue 連到它,如果哈士奇頁面的 controller 有設定 Storyboard ID,那麼我們還可從程式透過此 ID 到達哈士奇頁面。可惜的是,我們也沒有設定 Storyboard ID,所以錯誤訊息提到,no identifier for runtime access via -[UIStoryboard instantiateViewControllerWithIdentifier:]。

如果有設定 Storyboard ID,那麼我們還可從程式透過此 ID 到達哈士奇頁面

當你發現某個頁面既沒有 segue 連到,又沒有設定 Storyboard ID 時,其實答案很明顯了。這個頁面你不該再留戀,因為它完全無用,你的 App 根本不會進入這個畫面,此時你唯一能做的,就是為它流下幾滴眼淚,按下 Delete 鍵,將此 controller 從 storyboard 刪除吧。