我正在明确地从故事板加载一个视图控制器并拥有以下代码:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"InitialScreen"];
但是收到错误“'Storyboard()不包含带有标识符'InitialScreen'的视图控制器”
从截图中可以看出,视图控制器确实具有该标识符。我成功地使用了这种相同的方式加载控制器,但不知道为什么它这次没有工作。任何想法可能是什么问题?
答案 0 :(得分:5)
我刚刚发现问题 - 这是模拟器的一个问题,我发现我的代码完全没有问题,并且100%确定它没问题,当我过去常常遇到这种情况时我通常会发现罪魁祸首是Xcode本身。因此,即使我多次清理和重建,我决定尝试重置模拟器中的内容 - 并且宾果它开始工作。我把它归结为模拟器缓存内容中的错误,而不是更新以反映IB中所做的更改。
答案 1 :(得分:0)
您的故事板名称是否与您尝试从中加载视图控制器的故事板文件的名称相匹配?通常,故事板的名称类似于MainStoryboard_iPhone
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
您还应该检查以确保Storyboard ID文本字段中没有尾随空格。除此之外,其他一切看起来都应该对我有用。