Ios 故事板不';不包含具有标识符的视图控制器
我不断得到以下错误:Ios 故事板不';不包含具有标识符的视图控制器,ios,objective-c,xcode,storyboard,Ios,Objective C,Xcode,Storyboard,我不断得到以下错误: Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller with identifier 'drivingDetails' 我已经在UIStoryboard上设置了标识符,但仍然会出现此错误 在输入标识符时,如果未选择正确的视图控制器,只需检查一次,然后再次重复该过程。修复!在我的示例DrivingDetails中,不仅必须设置segue中的标识符,而且必须将tableV
Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller with identifier 'drivingDetails'
我已经在UIStoryboard
上设置了标识符
,但仍然会出现此错误
在输入标识符时,如果未选择正确的视图控制器,只需检查一次,然后再次重复该过程。修复!在我的示例DrivingDetails中,不仅必须设置segue中的标识符,而且必须将tableViewController中的标识符设置为DrivingDetails…检查我的图片: 我还删除了导航视图控制器,因此现在两个表视图控制器通过“推”动画直接连接 *****为XCODE 7.0编辑***** 您必须设置情节提要ID(在这种情况下,viewController嵌入在导航控制器中:
let lastMinVc = mainStoryBoard.instantiateViewControllerWithIdentifier("lastMinuteNavController") as! UINavigationController
仅供将来参考: 我正在使用故事板在iOS 6上开发 我遇到了相同的问题,但在inspector中找不到“Identifier”字段。 相反,只需将名为“Storyboard ID”的字段设置为标识符的名称。该字段可以在inspector中的“Show the Identity inspector”选项卡下找到 [注意-下面的评论表明,一些人发现他们需要(也?)在inspector中将字段“Restoration ID”设置在故事板ID的正下方。单击“Use Storyboard ID”似乎不够。] 下面有一幅图片供参考:(在本例中,我将标识符命名为与类相同的名称)
在向情节提要添加新的VC后,出现了此问题,但仅在设备上,而不是在模拟器上。结果表明,这是由于有多个情节提要本地化-VC仅添加到主版本。我尝试删除其他本地化(其中一个是我的iPhone使用的)但是仍然有错误。最后我不得不用新的VC在每个本地化中重新创建其他本地化。我得到了相同的错误,我可以通过在我的项目中更改以下更改来修复此错误。我在inspector面板中提到了我的类名,然后问题就解决了。 转到->右侧面板上有身份检查器 在自定义类部分中 类:您的类名(ViewController) 在身份部分 情节提要ID:您的情节提要ID(viewController名称) 点击这里的“使用故事板ID”选项后,问题就解决了。我希望它能帮助你……我找到了它。。。 单击情节提要中的视图控制器, 单击vc属性检查器左侧的第三个图标-设置调用名称的图标 屏幕上写着“身份”——我的身份被隐藏了,我不得不点击“身份”这个词 然后显示情节提要ID-从代码中添加标识符,完成使用您的标识符(@“drivingDetails”)作为情节提要ID。在identity inspector(左侧第三个图标)中修改“情节提要ID”应该可以
如果没有,并且您确定没有输入错误,请尝试清理项目(“产品”->“清理”,或简单地使用command+shift+K)。标识位于Xcode 6.3.2名为脚本ID的标识检查器选项卡中,并选中使用脚本ID选项。
在Xcode 7-13中 当您更改情节提要ID时,会出现如下错误
只需清理您的项目(CMD+SHIFT+K)编译器显示以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Storyboard (<UIStoryboard: 0x7fedf2d5c9a0>) doesn't contain a
ViewController with identifier 'SBAddEmployeeVC''
此处,
storyboardWithName
是我们正在使用的故事板文件的名称,bundle
指定故事板所在的捆绑包(即mainBundle
)。一些我的视图控制器缺少故事板标识符属性
之前:
<viewController
id="pka-il-u5E"
customClass="YourViewControllerName"
customModule="ModuleName"
customModuleProvider="target"
sceneMemberID="viewController">
之后:
<viewController
storyboardIdentifier="YourViewControllerName" <----
id="pka-il-u5E"
customClass="YourViewControllerName"
customModule="ModuleName"
customModuleProvider="target"
sceneMemberID="viewController">
我尝试了上述所有解决方案,但没有一个奏效
我所做的是:
- 项目清洁
- 删除派生数据
- 重新启动Xcode
- 重新输入先前答案中显示的故事板ID(IB内部)
令人震惊的是,我在interface builder中输入了Storyboar ID,在再次打开Xcode后,它被删除了
希望这对某人有所帮助。在主故事板中选择相应的视图控制器并检查故事板ID非常简单,如果它存在,请在给出名称和使用它的标识符中使用它
这里我的第一个是故事板ID
让vc=self.storyboard?.instanceeviewcontroller(标识符为“firstone”)作为!tabBarViewController对于那些与@Ravi Bhanushali有相同问题的人,这里有一个Swift 4解决方案:
let storyboard=UIStoryboard(名称:“Main”,bundle:bundle.Main)
注意:
“故事板文件名”
是故事板的文件名,而不是故事板的ID
“情节提要ID”
是您在该情节提要的标识检查器中手动设置的ID(请参见下面的屏幕截图)
有时人们认为第一个是情节提要ID,第二个是视图控制器类名,所以请注意区别。XCODE拖放窗格消失了!!!
清理所有东西并关闭Xcode并不能解决我的问题
我必须删除viewController并创建一个具有新标识符的新控制器。注意:如果您在项目中使用cocoapods,请首先运行pod反集成
和rm Podfile.lock
然后在任何第三方代码编辑器(如)中打开项目文件夹,并对引发错误的ViewController名称进行全局搜索
重命名/修复发现的任何错误名称
保存所有更改
清理并构建您的项目
现在一切都会好起来的
这通常是在您从Xcode中重命名文件时引起的。我也面临同样的问题。我已经给出了标识符,但编译器没有
<viewController
id="pka-il-u5E"
customClass="YourViewControllerName"
customModule="ModuleName"
customModuleProvider="target"
sceneMemberID="viewController">
<viewController
storyboardIdentifier="YourViewControllerName" <----
id="pka-il-u5E"
customClass="YourViewControllerName"
customModule="ModuleName"
customModuleProvider="target"
sceneMemberID="viewController">
let storyboard = UIStoryboard(name: "StoryboardFileName", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "StoryboardID")
self.present(controller, animated: true, completion: nil)