Завершение работы приложения из-за неперехваченного исключения «NSUnknownKeyException» [дубликат]

На этот вопрос уже есть ответ:

Я использую учебник, чтобы написать довольно простое приложение. Сегодня я скопировал приложение на свой рабочий компьютер. Вчера вечером оно отлично работало на моем ноутбуке, но сегодня я получаю эту ошибку. Я попробовал выпотрошил почти весь код и даже удалил все в функции didFinishLaunchingWithOptions, но я все равно получаю эту ошибку.У меня даже нигде не объявлен navBar! Я предполагаю, что проблема связана с каким-то проектом или настройкой файла вне кода?

2011-11-22 14:39:32.294 LetsEat[15320:b603] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key navBar.'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x00fa45a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x010f8313 objc_exception_throw + 44
    2   CoreFoundation                      0x00fa44e1 -[NSException raise] + 17
    3   Foundation                          0x0079f677 _NSSetUsingKeyValueSetter + 135
    4   Foundation                          0x0079f5e5 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
    5   UIKit                               0x0021b30c -[UIRuntimeOutletConnection connect] + 112
    6   CoreFoundation                      0x00f1a8cf -[NSArray makeObjectsPerformSelector:] + 239
    7   UIKit                               0x00219d23 -[UINib instantiateWithOwner:options:] + 1041
    8   UIKit                               0x0021bab7 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168
    9   UIKit                               0x0002117a -[UIApplication _loadMainNibFile] + 172
    10  UIKit                               0x00021cf4 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 291
    11  UIKit                               0x0002c617 -[UIApplication handleEvent:withNewEvent:] + 1533
    12  UIKit                               0x00024abf -[UIApplication sendEvent:] + 71
    13  UIKit                               0x00029f2e _UIApplicationHandleEvent + 7576
    14  GraphicsServices                    0x011dd992 PurpleEventCallback + 1550
    15  CoreFoundation                      0x00f85944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    16  CoreFoundation                      0x00ee5cf7 __CFRunLoopDoSource1 + 215
    17  CoreFoundation                      0x00ee2f83 __CFRunLoopRun + 979
    18  CoreFoundation                      0x00ee2840 CFRunLoopRunSpecific + 208
    19  CoreFoundation                      0x00ee2761 CFRunLoopRunInMode + 97
    20  UIKit                               0x000217d2 -[UIApplication _run] + 623
    21  UIKit                               0x0002dc93 UIApplicationMain + 1160
    22  LetsEat                             0x00001c99 main + 121
    23  LetsEat                             0x00001c15 start + 53
)
terminate called throwing an exceptionCurrent language:  auto; currently objective-c
(gdb)

РЕДАКТИРОВАТЬ: Это верхняя часть моего файла delegate.m. Как видите, все это шаблон:

#import "LetsEatAppDelegate.h"
//#import "ItemsViewController.h"

@implementation LetsEatAppDelegate

@synthesize window = _window;
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self.window makeKeyAndVisible];
    return YES;
} 

Я удалил все остальные файлы в проекте и по-прежнему получаю эту ошибку.

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

В настоящее время я получаю эту ошибку только на своей рабочей машине. Точно такие же файлы отлично работают на моем домашнем ноутбуке. Та же версия XCode (4.2.1)

22
задан Jon 23 November 2011 в 14:05
поделиться

4 ответа

Исправлено - перешел в iOS Simulator> Сбросить содержимое и настройки

15
ответ дан 29 November 2019 в 03:34
поделиться

Проблема в вашем файле пера. Существует старое соединение от LetsEatAppDelegate до navBar.

Я не уверен, как настроено ваше приложение, в одном из ваших файлов пера может быть объект LetsEatAppDelegate, или может быть владелец файла с классом, установленным в LetsEatAppDelegate

4   Foundation                          0x0079f5e5 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
5   UIKit                               0x0021b30c -[UIRuntimeOutletConnection connect] + 112
6   CoreFoundation                      0x00f1a8cf -[NSArray makeObjectsPerformSelector:] + 239
7   UIKit                               0x00219d23 -[UINib instantiateWithOwner:options:] + 1041
8   UIKit                               0x0021bab7 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168


2011-11-22 14:39:32.294 LetsEat[15320:b603] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<LetsEatAppDelegate 0x5a824a0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key navBar.'
*** Call stack at first throw:
8
ответ дан 29 November 2019 в 03:34
поделиться

Очистка «Основного интерфейса» также решила проблему для меня. Возможно, вам придется выполнить «Очистку» после очистки «Основного интерфейса» и перед сборкой.

0
ответ дан 29 November 2019 в 03:34
поделиться

Я недавно столкнулся с той же проблемой. Все мои розетки, где прекрасно, хотя. Я наконец сделал это, делая приличный ЧИСТ от проекта. Спасибо @Robert Wohnoutka и этому сообщению: Как удалить производные данные и очистить проект в Xcode 5 и Xcode 6?

0
ответ дан 29 November 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: