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

问题描述 投票:0回答:1

我正在使用我在界面构建器中制作的导航视图控制器来在我的应用中实现侧面菜单功能。

Here are the view controllers in my storyboard

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

在我的HomeViewController文件中,我编写了一个switch语句,在每种情况下,当其对应的菜单项(表视图单元格)被按下时,都会调用它:

switch statement code

我相信每种情况都会被正确调用,因为当按下每个单元格时,将在控制台中写入打印语句。如您所见,在“ .my_dogs”的情况下,我编写了一个常量,即第一张图片最右边的情节提要中的视图控制器。它只是有一个标签限制在中心。

我相信此常数已正确实例化,因为这些是界面生成器中最右边的情节提要的标识:

Identities

“ DogsViewController类”只是默认的swift文件(带有viewDidLoad()且其中没有代码)。

现在是问题所在:当我注释掉present(dogsViewController, animated: true)时,点击“我的狗”表格单元格不会崩溃。添加时,出现以下错误:

*** 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),并且做到了这一点,因此程序不会崩溃,但是它为我提供了我想要的其他功能。按下表格单元格“我的狗”时,我需要最右边的视图控制器(狗视图控制器)来接管屏幕,并且我需要它来继承导航控制器的属性,例如标题(导航标题为“ Home”)。第二个视图控制器和标题上方的菜单按钮。

swift xcode storyboard interface-builder viewcontroller
1个回答
0
投票

[要解决此问题,请右键单击Main.storyboard,然后选择“打开方式>源代码”。这应该打开情节提要的XML代码。从那里,按Command + F并搜索单词“ test”。如果找到与此相关的行,则将其注释掉。这似乎解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.