Swift 无法以编程方式切换故事板
我试图切换故事板时,一个按钮只有在一个条件(文本字段不是空的)得到满足。我发现这段代码是一个类似问题的答案,但它似乎不起作用。我的程序因“'Storyboard()不包含标识符为'Avatar controller'的视图控制器”而崩溃” 我不完全确定在哪里可以找到视图控制器标识,或者是否必须在情节提要名称的末尾添加“.storyboard”Swift 无法以编程方式切换故事板,swift,storyboard,Swift,Storyboard,我试图切换故事板时,一个按钮只有在一个条件(文本字段不是空的)得到满足。我发现这段代码是一个类似问题的答案,但它似乎不起作用。我的程序因“'Storyboard()不包含标识符为'Avatar controller'的视图控制器”而崩溃” 我不完全确定在哪里可以找到视图控制器标识,或者是否必须在情节提要名称的末尾添加“.storyboard” let storyboard = UIStoryboard(name: "Avatar", bundle: nil) let vc = storyboar
let storyboard = UIStoryboard(name: "Avatar", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "Avatar Controller")
self.navigationController!.pushViewController(vc, animated: true)
发生这种情况有两个原因 1)因为在您的
Avatar.storyboard
中,您正在引用id为Avatar controller
的视图控制器,但您尚未在脚本文件中的任何视图控制器上设置该值。进入您的化身。情节提要
,单击要显示的视图控制器并转到此面板:
确保视图控制器的情节提要ID
与您在情节提要中使用的值匹配。InstanceEviewController(带有标识符:“化身控制器”)
2)因为您在加载情节提要时没有提供捆绑包。你叫这个
let storyboard = UIStoryboard(name: "Avatar", bundle: nil);
但是,因为您将bundle
指定为nil
,所以它不知道在哪里查找Avatar.storyboard
文件。要修复它,请将bundle
指定为bundle.main
:
let storyboard = UIStoryboard(name: "Avatar", bundle: Bundle.main);
要使其工作,必须检查使用情节提要ID
我刚刚检查了它,它被设置为“化身控制器”,但我得到了相同的错误。我重新输入并再次运行它只是为了确定,它没有帮助任何东西修复它。您没有指定捆绑包,因此它不知道在哪里查找似乎已修复该错误的情节提要文件,但现在我收到***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[FInal_Project.User_Info NameInputEditingDidEnd:]:无法识别的选择器发送到实例0x7FABADB1B090'错误所在行的代码是什么?'我对swift比较陌生,所以我不知道如何计算出我已经检查并运行了它,但仍然得到相同的错误