0

在过去的 5 个小时里,我一直在为这个错误而头疼。我已经完成了所有我能做的谷歌搜索,但似乎没有一个解决方案对我有用,所以我将解释我的特殊情况,看看你们是否能找出我的问题。

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

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

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

我的文件所有者的自定义类设置为我的 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.'

欢迎所有帮助!

4

2 回答 2

2

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

这是模棱两可的,并且与:

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

您正在使用“香草” UIViewController 而不是您的自定义子类(您没有提到其类名)。当 nib 加载并尝试连接您的插座时,它们不存在,因此引发异常。更改 alloc/init 以使用您的 UIViewController 子类:

#import "View_main.h"

...

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

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

于 2012-08-15T07:10:36.913 回答
2

检查这个链接你会在这里找到答案

加载指向实际不存在的属性的 nib 时,通常会出现错误“此类与键 XXX 的键值编码不兼容”。这通常发生在您从代码中删除插座属性时,而不是从 nib 中的连接中删除。

于 2012-08-15T06:23:20.523 回答