在 XCode 中更改视图控制器导致 NSUnknownKeyException

Changing View Controller Causing NSUnknownKeyException in XCode

我正在使用我在界面生成器中制作的导航视图控制器在我的应用程序中制作侧边菜单功能。

标题为Menu View Controller 的控制器是在标题为home 的控制器(第二个)中按下"Home" 上方的按钮时滑出的菜单。菜单视图控制器由一个 table 视图和四个 table 视图单元格组成,其中每个菜单项是一个单元格。

在我的 HomeViewController 文件中,我编写了一个 switch 语句,其中每个 case 在其对应的菜单项(table 视图单元格)被按下时被调用:

我相信每个案例都被适当地调用,因为当按下每个单元格时,打印语句正在控制台中写入。如您所见,在“.my_dogs”的情况下,我写了一个常量 - 来自故事板的视图控制器,它位于第一张图片的最右侧。它只是有一个标签限制在中心。

我相信此常量已正确实例化,因为这些是界面构建器中最右侧故事板的标识:

class "DogsViewController" 只是默认的 swift 文件(有 viewDidLoad() 并且里面没有代码)。

现在的问题是: 当我注释掉 present(dogsViewController, animated: true) 时,点击 "My Dogs" table 单元格时没有崩溃.当我添加它时,出现以下错误:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Poochtime.DogsViewController 0x7fc60f916620> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key test.'

我也试过 navigationController.pushViewController(dogsViewController, animated: false),这使程序没有崩溃,但它给了我我想要的不同功能。我需要最右边的视图控制器(狗视图控制器)在按下 table 单元格 "My Dogs" 时接管屏幕,我需要它继承导航控制器属性,如标题(导航标题在第二个视图控制器和标题上方的菜单按钮上 "Home"。

要解决此问题,请右键单击 Main.storyboard 和 select "Open as > Source Code." 这应该会打开故事板的 XML 代码。从那里,Command+F 并搜索单词 "test"。如果您找到与此相关的行,请将其注释掉。这似乎解决了问题。