用XIB替换故事板

UrK*_*UrK 3 xcode interface-builder ios xcode4.3

如何用XIB替换故事板?

在尝试创建动态视图及其控制器时,我失去了新故事板的所有优点.现在,当我尝试将其从项目中删除时,我创建了一个带有自己的控制器的新XIB,并将其替换为项目设置:
在此输入图像描述
现在,在尝试运行应用程序时,它崩溃了,日志显示以下内容:

2012-04-08 14:50:16.567 Bazaart[11340:15203] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIApplication 0x8c15c20> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key view.'
Run Code Online (Sandbox Code Playgroud)

这是代码:UIRootWindow:

#import <UIKit/UIKit.h>
@interface UIRootWindow : UIViewController
@end
Run Code Online (Sandbox Code Playgroud)

及其相应的实施:

#import "UIRootWindow.h"
@implementation UIRootWindow

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    return self;
}
- (void)viewDidLoad {
    [super viewDidLoad];
}
- (void)viewDidUnload {
    [super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}
@end
Run Code Online (Sandbox Code Playgroud)

编辑:
我有菲利普建议的窗口(见下文).但是......我这样做的方式似乎不是最好的.我做得对吗?

UIRootWindow *wnd = [[UIRootWindow alloc] init];
[wnd view];
[self setWindow:wnd.window];
Run Code Online (Sandbox Code Playgroud)

Phi*_*lls 7

不要在Main Interface字段中放入任何内容.相反,在app delegate的didFinishLaunchingWithOptions:方法中加载顶级控制器,并在那里设置窗口的根控制器.

应用程序启动假定在那里提到的xib有一个文件所有者是UIApplication.(较旧的模板用于执行此操作,一些示例项目仍然可以.)