this class is not key value coding-compliant for the key XXXXXX

萝らか妹 提交于 2019-12-28 03:11:47

问题


when i try to build and run my app, it crashes and i got this in the log :

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

the strange is that aproposViewController is not used in LoadingViewController, it's just another view controller in my app. please help, thx in advance :)

EDIT

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

there is no declaration of aproposViwController, even in IB for the main view !! EDIT 2 here two screenshot of my besic set in the main and loadingView in interface builder :


回答1:


Can't be sure if this is what's happening in your case, but you'll commonly see this message if you have a connection set up in your nibs to assign an object to a property of another object, but the property is missing on the target object.

So you might have had an IBOutlet named aproposViewController on LoadingViewController at one point, connected another view controller to it in the nib, and then removed the IBOutlet but neglected to remove the connection in the nib.

So when the nib is loaded, it tries to set the property, only to find it doesn't exist, hence:

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



回答2:


I had this problem and it was because I had an:

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



回答3:


If you removed the connection to IBOutlet from XIB and still it happens

Then delete the app from simulator and run again.




回答4:


I have found the same error in my Application and I found solution for this after some time.

Actually I Have given 2 action events for one button. I have removed extra connection which is assigned to button after that the problem is over.

This is worked in my scenario. I hope it will be helpful to someone else..



来源:https://stackoverflow.com/questions/5930492/this-class-is-not-key-value-coding-compliant-for-the-key-xxxxxx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!