gpt4 book ai didi

iphone - 由于未捕获的异常而终止应用程序 'NSUnknownKeyException'

转载 作者:行者123 更新时间:2023-12-03 18:18:34 26 4
gpt4 key购买 nike

我正在使用教程来编写一个相当简单的应用程序。我今天将该应用程序复制到我的工作计算机上。昨晚它在我的笔记本电脑上运行得很好,但今天我收到了这个错误。我尝试删除几乎所有代码,甚至删除 didFinishLaunchingWithOptions 函数中的所有内容,但仍然收到此错误。我什至没有在任何地方声明导航栏!我认为代码之外的某种项目或文件设置是问题所在?

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:
(
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)

最佳答案

重置内容和设置不起作用。

这是我浪费了两个小时的深夜时间:

我已将界面生成器中的 UIControl 导出连接到 xib 所有者中的 IBOutlet。由于某种原因,IBOutlet 已从所有者中删除,但对导出的引用仍然悬空在 xib 中。这总是会给我错误

"Terminating app due to uncaught exception 'NSUnknownKeyException'"

经验教训:在实现中删除变量的任何导出时,请确保取消 IB 中的相应连接

更新:(2015 年 1 月 26 日)

Interface Builder 或 Nib 的行为方式是有充分理由的,今天我意识到了原因。

如果 TheBaseClass 中有一个 IBOutlet,并且在 Storyboard 中有一个 TheSubClass 的 Nib 或场景,则有两种方法(黑客)可用于连接此 socket :

  1. 在身份检查器下,将“自定义类”标识符命名为 TheBaseClass,连接 socket ,然后将“自定义类”部分中的类名称设置为 TheSubclass

  2. 在 TheSubclass 代码中添加 IBOutlet,将其连接到 Nib 中的 ui 元素,在 TheBaseClass 中添加 IBOutlet 代码,在 TheSubClass 中删除该代码

当我遇到这个answer时至于为什么苹果会让这个悬而未决的引用问题保持原样,它就已经就位了。因为,这不是一个错误。这是一个功能。

关于iphone - 由于未捕获的异常而终止应用程序 'NSUnknownKeyException',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com