在Instruments下运行app时获取NSUnknownKeyException

时间:2011-09-10 13:28:52

标签: cocoa-touch debugging exception uikit

我正在尝试扫描我的应用程序(基于xib的窗口)以查找内存泄漏,但是当我使用Leaks工具运行应用程序时,它会因异常而崩溃

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIWindow 0x4d20ec0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key rootViewController.'

奇怪的是,该应用程序在模拟器和设备上运行良好。

App委托代码:

#import "myAppDelegate.h"

@implementation myAppAppDelegate

@synthesize window;
@synthesize myController;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    NSLog(@"didFinishLaunchingWithOptions");

    [window addSubview:myController.view];
    [window makeKeyAndVisible];

    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
}

- (void)applicationWillTerminate:(UIApplication *)application {
=}

#pragma mark -
#pragma mark Memory management

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}


- (void)dealloc {
    [window release];
    [super dealloc];
}

@end

2 个答案:

答案 0 :(得分:0)

这是在普通模拟器中运行,还是在没有问题的设备上运行?

否则你是否实现了自定义根视图,即使用不同的启动NIB?

最好是上传你的应用委托代码

答案 1 :(得分:0)

当Interface Builder中的某个属性设置不正确或不再存在时,通常会发生此错误(在Interface Builder中查找警告)。

至于为什么它只在Instruments中崩溃可能是因为它默认是针对你的发布版本运行的,并且可能有一些优化对错误的配置不太宽容。