iPhone:此类不符合键值编码的键值警报视图



在过去的 5 个小时里,我一直在用这个错误敲打我的头。我已经完成了所有的谷歌搜索,但我似乎没有一个解决方案对我有用,所以我将解释我的具体情况,看看你们是否可以找出我的问题是什么。

我的主要 UI 是一个包含 6 个视图的视图。每个视图都包含一个图像和一个标签。我可以这样做以将对象包含在一起吗?

无论如何,我从文件所有者那里一一删除了所有连接,然后重新开始。我按 ctrl 并将鼠标拖动到主视图以将其附加到我的视图。运行项目:太好了,没有错误。

连接了其中一个子视图,砰!错误立即弹出。

我的

文件所有者的自定义类设置为我的 UIViewController 类。

我在标头中正确定义了IBOutlets,并在实现中进行了合成。

让我知道你需要什么来帮助我。

**编辑**

我设置了一个断点,发现标有--> <-的行是罪魁祸首:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds];
    self.viewController = [[UIViewController alloc] initWithNibName:@"View_main" bundle:nil];
    self.window.rootViewController = self.viewController;
--> [self.window makeKeyAndVisible]; <--
    return YES;
}

编译器抛出的错误是:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x6c6a0d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key myView.'

欢迎所有帮助!

查看此链接,您将在此处找到答案

错误"此类不符合键 XXX 的键值编码"通常在加载引用实际不存在的属性的 nib 时发生。当您从代码中删除 outlet 属性而不是从笔尖中的连接中删除时,通常会发生这种情况。

我的

文件所有者的自定义类设置为我的 UIViewController 类。

这是模棱两可的,并且与以下方面相冲突:

self.viewController = [[UIViewController alloc] initWithNibName:@"View_main" bundle:nil];

您使用的是"vanilla"UIViewController,而不是自定义子类(您尚未提及其类名)。当笔尖加载并尝试连接您的插座时,它们不存在,因此会引发异常。更改 alloc/init 以使用 UIViewController 子类:

#import "View_main.h"
...
self.viewController = [[View_main alloc] initWithNibName:@"View_main" bundle:nil];

并确保视图控制器的自定义类也设置为笔尖中的View_main。

相关内容

最新更新