0

我的代码在几天和几周的代码更改中运行良好,并且在我清理它之前在我的 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不存在。

<code>self.viewController.view</code> 不存在

编辑添加我的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 引用出口视图设为文件所有者,但这并没有解决问题。

这没有帮助,但我希望它会!

如何让我的 viewController 取回它的视图?

编辑以添加我的 nib 文件的身份检查器的屏幕截图:

.xib 文件的所有者身份检查器的屏幕截图

4

2 回答 2

2

你好,你为什么这样做?

[window addSubview:self.viewController.view];

尝试这个

[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
return YES;

文件所有者必须链接到 ViewController 的视图。

于 2012-05-31T13:03:02.393 回答
0

你不能重命名你的 UIViewControllers。

几周前,我将原来的 firstProjectViewController 重命名为 MainMenu,使其名称与 FooMenu 和 BarMenu(其兄弟名称)相匹配。

我不知道当时为什么该项目一直在编译,但是直到我几天前清理了我的代码,问题才变得明显。

所以我选择的答案在大部分情况下都是正确的,但为了自己解决这个问题,我需要将每次出现的“MainMenu”都取消更改回“firstProjectViewController”。

于 2012-06-01T11:32:47.527 回答