этот класс не соответствует значению ключа для ключа XXXXXX - PullRequest
10 голосов
/ 09 мая 2011

, когда я пытаюсь собрать и запустить свое приложение, оно падает, и я получаю это в журнале:

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

странно, что aproposViewController не используется в LoadingViewController, это просто еще одинПосмотреть контроллер в моем приложении.Пожалуйста, помогите, спасибо заранее:)

РЕДАКТИРОВАТЬ

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 в основной и загрузочный вид в конструкторе интерфейса: enter image description here

enter image description here

Ответы [ 4 ]

28 голосов
/ 09 мая 2011

Не могу быть уверен, что это именно то, что происходит в вашем случае, но вы обычно будете видеть это сообщение, если у вас установлено соединение в ваших перьях, чтобы назначить объект свойству другого объекта, но свойство отсутствует на целевом объекте.

Таким образом, вы могли иметь IBOutlet с именем aproposViewController в LoadViewController в одной точке, подключить к нему другой контроллер представления, а затем удалить IBOutlet, но пренебречь, чтобы удалить соединение в наконечнике.

Таким образом, когда перо загружается, оно пытается установить свойство, но обнаруживает, что оно не существует, следовательно:

reason: '[<LoadingViewController 0x6b2c5a0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key aproposViewController.'
4 голосов
/ 12 апреля 2013

Если вы удалили соединение с IBOutlet из XIB, но это все равно происходит

Затем удалите приложение из симулятора и снова запустите.

4 голосов
/ 23 августа 2012

У меня была эта проблема, и это было потому, что у меня было:

vc = [[someVC alloc] initWithNibName:@"oldNibFileNameButCachedSomewhereWithOldRefToPropertyIn" bundle:nil];
2 голосов
/ 18 июня 2014

Я обнаружил ту же ошибку в своем приложении, и через некоторое время нашел решение для этого.

На самом деле я дал 2 события действия для одной кнопки.Я удалил дополнительное соединение, которое назначено кнопке, после того как проблема закончилась.

Это работает в моем сценарии.Я надеюсь, что это будет полезно для кого-то еще ..

...