2011-05-27 138 views
4

我有一个非常简单的基于窗口的应用程序,我只是把一个导航视图控制器作为窗口的根视图控制器,它崩溃了。这是我的模板项目唯一改变的事情:简单的应用程序崩溃?

@interface AppDelegate : NSObject <UIApplicationDelegate> { 
    UINavigationController *navigationController; 
} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    navigationController = [[UINavigationController alloc] init]; 


    [[self window] setRootViewController:navigationController]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

它崩溃说:

2011-05-26 20:18:57.194 ZebraSDKTest[5560:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UICustomObject 0x8b3d760> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key navigationController.' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x00dbf5a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x00f13313 objc_exception_throw + 44 
    2 CoreFoundation      0x00dbf4e1 -[NSException raise] + 17 
    3 Foundation       0x00791677 _NSSetUsingKeyValueSetter + 135 
    4 Foundation       0x007915e5 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285 
    5 UIKit        0x0020d30c -[UIRuntimeOutletConnection connect] + 112 
    6 CoreFoundation      0x00d358cf -[NSArray makeObjectsPerformSelector:] + 239 
    7 UIKit        0x0020bd23 -[UINib instantiateWithOwner:options:] + 1041 
    8 UIKit        0x0020dab7 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168 
    9 UIKit        0x0001317a -[UIApplication _loadMainNibFile] + 172 
    10 UIKit        0x00013cf4 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 291 
    11 UIKit        0x0001e617 -[UIApplication handleEvent:withNewEvent:] + 1533 
    12 UIKit       

0x00016abf -[UIApplication sendEvent:] + 71 
13 UIKit        0x0001bf2e _UIApplicationHandleEvent + 7576 
14 GraphicsServices     0x00ff8992 PurpleEventCallback + 1550 
15 CoreFoundation      0x00da0944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
16 CoreFoundation      0x00d00cf7 __CFRunLoopDoSource1 + 215 
17 CoreFoundation      0x00cfdf83 __CFRunLoopRun + 979 
18 CoreFoundation      0x00cfd840 CFRunLoopRunSpecific + 208 
19 CoreFoundation      0x00cfd761 CFRunLoopRunInMode + 97 
20 UIKit        0x000137d2 -[UIApplication _run] + 623 
21 UIKit        0x0001fc93 UIApplicationMain + 1160 
22 ZebraSDKTest      0x00002549 main + 121 
23 ZebraSDKTest      0x000024c5 start + 53 

回答

4

看起来你必须在一个前现有的UINavigationController IBOutlet中的连接你的笔尖文件。

从MainWindow.xib开始并检查这种连接。

+0

感谢您的回复。只是检查了一切,它被连接起来了。这里有4件事,应用程序委托,文件所有者,窗口和第一响应者。手动检查了所有网点,重新分配。在插座窗格中也没有感叹号。 – sumderungHAY 2011-05-27 01:26:32

+1

尝试从设备或模拟器中删除应用程序。 – 2011-05-27 02:27:12

+0

没有运气。感谢您试图帮助我。我上传了这个项目:https://rapidshare.com/files/3683206909/ZebraSDKTest.zip如果你有时间,也许你可以看看它?再次感谢。 – sumderungHAY 2011-05-27 02:42:34

2

我只在模拟器上发生过这个问题,但在设备上工作正常。

我试着清理项目,重新启动Xcode,调试,清空模拟器数据,整个工程。

最后,它通过从模拟器中卸载应用程序并重新安装它来解决。不知道为什么这有效,但它解决了它!