iPhone“基于视图的应用程序”模板:如何加载视图控制器xib?

时间:2011-04-24 19:44:23

标签: iphone cocoa-touch uiviewcontroller

我的Cocoa上有点生疏,有一个简单的问题。当我在XCode 4中创建一个“基于视图的应用程序”时,我得到一个主窗口xib,一个app委托,以及一个UIViewController子类和xib。主窗口xib包含UIViewController子类作为对象。但是我没有在代码或检查器中的任何地方看到对此UIViewController的“init”调用。这个视图控制器是如何初始化的?我猜一个嵌入对象的“init()”只是神奇地以某种方式被调用?

2 个答案:

答案 0 :(得分:1)

self.window.rootViewController = self.viewController;

它们通过MainWindow.xib文件连接

如果要在从xib / nib加载viewcontroller时自定义内容,则需要覆盖viewcontroller中的方法- (id)initWithCoder:(NSCoder *)inCoder

示例:

- (id)initWithCoder:(NSCoder *)theCoder {

    self = [super initWithCoder:theCoder];

    if(self) {

        // your fancy stuff here!
    }

    return self;
}

答案 1 :(得分:1)

请查看when exactly do Interface Builder items get instantiated?,我已经提供了一个描述nib加载过程的答案。