这个类不是密钥XXXXXX的密钥值编码

当我尝试构build并运行我的应用程序时,它崩溃,我在日志中得到这个:

reason: '[<LoadingViewController 0x6b2c5a0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key aproposViewController.' 

奇怪的是aproposViewController没有在LoadingViewController ,它只是我的应用程序中的另一个视图控制器。 请帮忙,thx提前:)

编辑

appdelegate.h:

 @class LoadingViewController; @interface TopStationAppDelegate : NSObject <UIApplicationDelegate,CLLocationManagerDelegate> { UIWindow *window; LoadingViewController *loadingView; } @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet LoadingViewController *loadingView; @end 

appdelegate.m

 #import "LoadingViewController.h" @implementation TopStationAppDelegate @synthesize window; @synthesize loadingView; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [window addSubview:loadingView.view]; [window makeKeyAndVisible]; return YES; } - (void)dealloc { [loadingView release]; [window release]; [super dealloc]; } @end 

没有aproposViwController的声明,即使在IB的主视图! 编辑2这里两个屏幕截图我的besic在主界面和加载视图中设置: 在这里输入图像说明

在这里输入图像说明

不能确定这是怎么回事,但你会经常看到这个消息,如果你有一个连接设置在你的笔尖分配一个对象到另一个对象的属性,但属性是缺less目标对象。

所以你可能在一个点上有一个在LoadViewController上名为aproposViewController的IBOutlet,在另一个点连接了另一个视图控制器,然后删除了IBOutlet,但是忽略了删除了nib中的连接。

所以当nib加载的时候,它试图设置属性,只是发现它不存在,因此:

 reason: '[<LoadingViewController 0x6b2c5a0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key aproposViewController.' 

我有这个问题,这是因为我有一个:

 vc = [[someVC alloc] initWithNibName:@"oldNibFileNameButCachedSomewhereWithOldRefToPropertyIn" bundle:nil]; 

如果您从XIB中删除了与IBOutlet的连接,并且仍然发生

然后从模拟器中删除应用程序并再次运行。

我在我的应用程序中发现了相同的错误,并在一段时间后find了解决scheme。

其实我已经给了一个button2个动作事件。 问题结束后,我删除了分配给button的额外连接。

这是在我的情况。 我希望这会对别人有所帮助