我只是在满足条件(文本字段不为空)时才尝试切换故事板。我发现这段代码是对类似问题的回答,但似乎并没有起作用。我的程序崩溃,“'Storyboard()不包含带有标识符'Avatar Controller''的视图控制器”
我不完全确定在哪里可以找到视图控制器标识,或者我是否必须在故事板名称的末尾添加“.storyboard”。
let storyboard = UIStoryboard(name: "Avatar", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "Avatar Controller")
self.navigationController!.pushViewController(vc, animated: true)
答案 0 :(得分:0)
这可能有两个原因。
1)因为您的Avatar.storyboard
引用了一个ID为Avatar Controller
的视图控制器,但您没有在故事板中的任何视图控制器上设置该值文件。转到Avatar.storyboard
,点击要显示的视图控制器,然后转到此面板:
确保Storyboard ID
的{{1}}与viewController
2)因为您在加载故事板时没有提供storyboard.instantiateViewController(withIdentifier: "Avatar Controller")
。你在说这个
bundle
但是因为您将let storyboard = UIStoryboard(name: "Avatar", bundle: nil);
指定为bundle
,所以它不知道在哪里查找nil
文件。要解决此问题,请将Avatar.storyboard
指定为bundle
:
Bundle.main
答案 1 :(得分:0)