当我触发故事板时,我看到以下错误,如下图所示
我通过以下方式触发segue:
[self performSegueWithIdentifier:@"dayViewDetailSegue" sender:self];
这是我遇到的错误
' NSInternalInconsistencyException',原因:'无法加载NIB 捆绑:' NSBundle(已加载)'有名字 '的UIViewController-4FQ-FK-WRG'和目录' Main.storyboardc''
我尝试过的事情: 打开故事板作为源代码,在其中我可以找到以下
<segue destination="4FQ-FK-WrG" kind="presentation" identifier="dayViewDetailSegue" modalPresentationStyle="fullScreen" modalTransitionStyle="coverVertical" id="L8J-7U-DxM"/>
我已经尝试清理干净和构建目录。
user3182143对问题的回答 - 但仍有问题
是Main.storyboard位于Copy Bundle Resources中。我有 也尝试将其删除并重新添加。
在我的项目中没有以编程方式实例化ViewControllers。
正确链接到适当的目标
7。我无法更改此值,因为它显示为灰色。有什么建议吗?
不以编程方式添加或更改VC。这是第一次 我正在做的与故事板相关的程序化的事情 项目(触发segue)
完成。
答案 0 :(得分:2)
严格检查项目的以下内容
您是否在Xcode外重命名了xib或storyboard文件?如果是这样,请检查您所引用的任何地方是否存在不一致。另外,请确保在引用文件的任何地方都尊重大写/小写字母,因为区分大小写。
转到Interface Builder,选择View1 ViewController&gt;公用事业小组&gt; Identity Inspector
&gt;如果你有一个(.h和.m文件),检查Custom Class
是否对应于你的ViewController类。
检查您的Info.plist
文件。如果您使用storyboads,则应该有Main storyboard file base name
和NOT Main nib file base name
之类的条目。如果使用笔尖,则反之亦然。还要检查文件基名是否与实际文件的名称一致。
检查目标的Build Phases > Copy Bundle Resources
并确保在那里添加了xib或storyboard文件。
如果以编程方式实例化View1 ViewController,并使用xib文件检查错别字的笔尖名称(请记住,区分大小写)。
此外,如果您当前将.xib文件格式附加到名称,请删除该扩展名,因为它不应使用。我的意思是这行代码:UIViewController *controller = [[UIViewController alloc] initWithNibName:@"xibFileName" bundle:nil];
在文件检查器中检查xib或情节提要文件的属性,并确保在Target Membership
选择面板中将文件链接到目标。
检查文件检查器中xib或情节提要文件的属性,然后尝试将文件Location
切换为Relative to project
或Relative to group
。看看两种方式是否有所不同。
如果您在initWithCoder
中以编程方式添加视图控制器,则应使用viewDidLoad
方法实例化
如果上述情况不适用于您的情况,您可以从Xcode中删除该文件(选择Remove References
)并在项目中再次导入。
请记住,在进行上述更改后,请务必清理项目(SHIFT + COMMAND + K)。
选择 2
您在故事板中的班级名称是错误的。所以请删除并再次添加故事板中的班级名称。