我的代码在我的iPhone 5.0模拟器上进行了数天和数周的代码更改并运行正常,直到我清理它为止。
现在它已经死在这一行[window addSubview:self.viewController.view];
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:self.viewController.view]; // dies here
[self.window makeKeyAndVisible];
return YES;
}
self.viewController
存在,但self.viewController.view
没有。
编辑添加我的AppDelegate.h
:
#import <UIKit/UIKit.h>
@class MainMenu;
@interface yomikakiAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
MainMenu *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MainMenu *viewController;
@end
我认为IB必定已经失去了联系,但我不确定如何重新连接它。
我将MainMenu.xib Referencing Outlet视图设为File的所有者,但是没有修复它。
如何让我的viewController获取其视图?
编辑以添加我的nib文件的Identity Inspector的屏幕截图:
答案 0 :(得分:2)
您好,为什么要这样做?
[window addSubview:self.viewController.view];
试试这个
[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
return YES;
文件所有者必须链接到ViewController的视图。
答案 1 :(得分:0)
你不能重命名你的UIViewControllers。
几周前,我将原来的firstProjectViewController重命名为MainMenu,允许其名称与FooMenu和BarMenu(其兄弟的名字)相适应。
我不知道为什么该项目在那时继续编译,但问题在我几天前清理我的代码之后才变得明显。
所以我选择的答案在大多数情况下都是正确的,但为了自己解决,我需要将“MainMenu”的每次出现都改为“firstProjectViewController”。