Xcode这个类不是键视图的键值编码兼容

时间:2012-08-30 11:02:03

标签: iphone xcode cordova

我一直在广泛地搜索这个问题,但我找不到答案。

问题是“这个类不是关键视图的键值编码兼容”

我尽可能地删除了代码,但仍然会出现这个错误,让我疯狂!

我有以下someSelector.h文件

#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>

@interface someSelector : UIViewController {
    UIView *view;
}

@property (nonatomic, retain) IBOutlet UIView *view;

@end

这是someSelector.m文件的相关位

#import "someSelector.h"

@synthesize view;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
}

这是我得到的错误:

2012-08-30 12:42:51.714 SomeApp[2280:f803] *** Terminating app due to uncaught exception    'NSUnknownKeyException', reason: '[<UIApplication 0x6821350> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.'

我想我已经尝试过尝试的一切。奥特莱斯似乎是正确的,我已经尝试重新连接它们一千次。我还将文件所有者的类名命名为someSelector,所以这似乎也是顺序...

请帮助我,我现在已经不在想了......

3 个答案:

答案 0 :(得分:11)

我有同样的问题,对我来说,解决方案是转到Target -> General -> Main Interface,然后删除那里的条目。把它完全留空。为我工作(虽然我在这里使用PhoneGap)。

答案 1 :(得分:1)

请注意,尝试查找view的班级是UIApplication。最可能的原因是你有一个.xib文件,文件的所有者设置为UIApplication而不是UIViewController子类...或者你有一个合法的文件所有者应用程序类但你已经连接了一个视图插座。

打开项目中的任何.xib文件,选择File's Owner,并在身份检查器中验证其类名。

有时通过打开.xib文件作为源代码并对“view”进行文本搜索来更容易找到它们。

答案 2 :(得分:0)

someSelector类xib文件存在一些问题,检查它是否显示任何警告以及Abizem是否正确您不需要将视图声明为属性。