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

标签 iphone objective-c ios xcode macos

<分区>

我正在关注 Big Nerd Ranch iOS 编程指南(第 3 版),并遵循了创建该项目时所说的一切。我收到一个错误,但我不知道如何修复,因为我是 iOS 新手。当我从 Xcode 中的模板使用基于单 View 的应用程序时,我的程序最初出现问题,出现此错误:

2012-05-25 16:02:12.926 Whereami[1083:707] Application windows are expected to have a root view controller at the end of application launch

在浏览了一些论坛后,我发现我需要在 Xcode 中设置我的 MainInterface:

之前 - https://i.imgur.com/YCnRM.png

之后 - https://i.imgur.com/5QnJ3.png

通过将 xib 文件名添加到设置中的 MainInterface 文本框来修复上述错误后,我收到此错误:

    2012-05-25 16:04:09.068 Whereami[1102:707] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x11f620> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key activityIndicator.
*** First throw call stack:
(0x3507b88f 0x364a2259 0x3507b5c5 0x30eb6323 0x30eb5e23 0x30e8ff09 0x34fda7d3 0x34fdb461 0x323111af 0x3231294d 0x32248509 0x320d1893 0x320cb8d7 0x32099c6b 0x3209970f 0x320990e3 0x362ce22b 0x3504f523 0x3504f4c5 0x3504e313 0x34fd14a5 0x34fd136d 0x320caa13 0x320c7e7d 0x7ebd7 0x7eb7c)
terminate called throwing an exception

这是我的源文件:

AppDelegate.m - https://i.imgur.com/7FdCZ.png

WhereamiViewController.h WhereamiViewController.m

查看 - https://i.imgur.com/IZeoa.png

运行- https://i.imgur.com/dyYKd.png

我很困惑,需要弄清楚这一点,这样我才能继续前进并最终完成这本书。我需要能够在下周之前完成我的第一个工作应用程序。

最佳答案

问题文本看起来像是你在问这个...... 一种设置方法如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    LoginViewController* loginView = [[[LoginViewController alloc]initWithNibName:nil bundle:nil]autorelease];
    mainNavController = [[UINavigationController alloc]initWithRootViewController:loginView];

    //here is the magic line
    [_window addSubview:mainNavController.view];

    [self.window makeKeyAndVisible];
    return YES;
}

或者您可以在没有 mainNavController 的情况下执行此操作:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
        // Override point for customization after application launch.
    LoginViewController* loginView = [[[LoginViewController alloc]initWithNibName:nil bundle:nil]autorelease];

    [_window addSubview:loginView.view];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

标题好像是你在问这个... 现在,当您尝试访问不存在或拼写错误的选择器或类成员时,通常会出现 NSUnknownKeyException 错误(对我来说通常是后者!)。您可以将类想象成字典,调用成员或函数就像通过键查找字典对象。 例如。

`@selector(misspelledFunctionName:)` 

[object functionThatIsMisspelledOrNotDefinedInObject];

我不确定问的是哪个问题,所以我尝试回答这两个问题。希望这会有所帮助:)

编辑:这些最终都成为了答案,或者无论如何都是答案的一部分。 UIApplication 没有分配给它正确的 View ,因此 xib 正在发送不存在的键并导致它崩溃。我从 plist 中删除了 Root View 分配(结果没有崩溃但空白屏幕)然后像上面那样分配 View ( View 显示完美!)。

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

相关文章:

iphone - UITapGestureRecognizer 干扰 UIPinchGestureRecognizer

iphone - 如何在 UIAlertview 中添加 iAd?

ios - 在 IOS 中迭代 NSDictionary 和计时事件

ios - UIView 的动画退出

iphone - 关闭两个模态(表) View Controller

iphone - 哪种加密算法在 NSData 写入文件保护中使用 iOS, key 大小是多少?

ios - 是否可以在没有警报 View 的情况下从 iPhone 中删除照片?

iphone - 如何在 iOS 上将图片以 JSON 格式从图库上传到服务器

ios - 如何创建仅 alpha 位图上下文

ios - 适用于 iOS 的 Xamarin.Forms Firebase Analytics