应用程序委托必须实现窗口属性,如果它想要使用主要故事板文件

我以编程方式实现列表视图控制器。 当我尝试运行该项目时,出现错误:

2012-11-07 22:46:34.719 myTableViewControl[12021:c07] The app delegate must implement the window property if it wants to use a main storyboard file. 2012-11-07 22:46:34.722 myTableViewControl[12021:c07] -[AppDelegate setWindow:]: unrecognized selector sent to instance 0x7674e70 2012-11-07 22:46:34.723 myTableViewControl[12021:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppDelegate setWindow:]: unrecognized selector sent to instance 0x7674e70' *** First throw call stack: (0x1c8e012 0x10cbe7e 0x1d194bd 0x10df7ea 0x1c7dcf9 0x1c7d94e 0x1d60 0x107b7 0x10da7 0x11fab 0x23315 0x2424b 0x15cf8 0x1be9df9 0x1be9ad0 0x1c03bf5 0x1c03962 0x1c34bb6 0x1c33f44 0x1c33e1b 0x117da 0x1365c 0x1bd2 0x1b05) libc++abi.dylib: terminate called throwing an exception (lldb) 

当我运行代码时,它挂在main.m上并显示出来

“thread1:信号SIGABRT”

 @autoreleasepool {return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

我的代码如下:AppDelegate.h

 // // AppDelegate.h // myTableViewControl // // Created by Max on 12-11-5. // Copyright (c) 2012年 Max. All rights reserved. // #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UINavigationController *navigationController; @end 

AppDelegate.m

 // // AppDelegate.m // myTableViewControl // // Created by Max on 12-11-5. // Copyright (c) 2012年 Max. All rights reserved. // #import "AppDelegate.h" #import "firstViewController.h" @implementation AppDelegate @synthesize navigationController; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions { // create the base window UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; window.backgroundColor = [UIColor greenColor]; self.window = window; [window release]; // this is the home page from the user's perspective FirstViewController *fvc = [[FirstViewController alloc] init]; UINavigationController *nc = [[UINavigationController alloc]initWithRootViewController:fvc]; self.navigationController = nc; [fvc release]; [nc release]; // show them [self.window addSubview: nc.view]; [self.window makeKeyAndVisible]; return YES; } @end 

FirstViewController是列表视图控制器。

您正在创build您的窗口作为本地variables,然后尝试访问它,就像它是一个属性通过使用self.window 。 使它成为一个财产。