2012-03-17 60 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(包括导航控制器)设置一个标识符。

在“属性检查器”窗格中向下滚动到“视图控制器”部分,如果未选中“初始视图控制器”,请选中此项。

现在运行该应用程序。

相关问题