2012-08-15 62 views
0

我一直在这个错误敲了我的头在过去的5个小时。我已经完成了所有可以使用的搜索引擎,但这些解决方案似乎都不适合我,所以我会解释我的具体情况,看看你们能否挑出我的问题。iPhone:这个类不是关键的值编码兼容的关键警报观点

我的主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.' 

欢迎所有帮助!

+0

你能显示错误描述吗? – BergP 2012-08-15 06:23:32

+0

编辑原始问题 – ReX357 2012-08-15 06:48:37

回答

2

检查此链接you'll find the answer here

错误“这一类不是键值编码兼容的关键XXX”通常是在装入指的是实际上并不存在的属性笔尖时出现。这通常发生在从代码中删除插座属性但不是来自nib中的连接时。

+0

感谢您的链接!这非常有帮助!将更多信息编辑我的原始帖子。 – ReX357 2012-08-15 06:32:36

+0

不客气!很高兴为您效劳 – 2012-08-15 06:34:43

+0

请参阅编辑原文。 – ReX357 2012-08-15 06:49:04

2

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

这是模糊的,并与冲突:

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

您使用的是“香草”的UIViewController,而不是您的自定义子类(类名为你没提到)。当笔尖加载并尝试连接插座时,它们不存在,因此引发异常。改变分配/初始化使用您的UIViewController子类:

#import "View_main.h" 

... 

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

,并确保自定义类视图控制器设置为View_main在笔尖为好。

+0

我的视图控制器类的名称是View_main。我是否在我的应用程序委托文件的顶部导入View_main.h以使其工作? – ReX357 2012-08-15 07:13:48

+0

现在,我希望所有的窗口都能在应用程序启动结束时拥有一个根视图控制器。 – ReX357 2012-08-15 07:50:58

+0

@interface AppDelegate:UI Responder IBOutlet UIWindow *窗口; IBOutlet UIViewController * viewController; } // @ property(nonatomic,retain)UIWindow * window; // @ property(strong,nonatomic,retain)UIViewController * viewController; – ReX357 2012-08-15 08:16:21

相关问题