Swift:从xib以编程方式创建UIViewController

Luc*_*nzo 5 objective-c uiviewcontroller ios swift

这几天我快要接近了,我有一个问题.

如果我必须以编程方式创建一个新的UIViewController怎么办?

使用空/新视图控制器很容易:

var controller: UIViewController = UIViewController()
controller.view.backgroundColor = UIColor.whiteColor()
self.presentViewController(controller, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

现在,我有一个我想在控制器上加载的xib文件:

var controller: UIViewController = UIViewController(nibName: "FeedDetail", bundle: nil)
controller.view.backgroundColor = UIColor.whiteColor()
self.presentViewController(controller, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

这次崩溃是因为:

'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "FeedDetail" nib but the view outlet was not set.'
Run Code Online (Sandbox Code Playgroud)

我已经阅读过这篇文章了,我无法理解错在哪里!

在此输入图像描述

Anb*_*hik 3

抱歉,我从这里获取了答案,您错过了类似的内容(您在 xib 中没有视图,因此添加一个,然后执行此操作):

在此输入图像描述

如果您正在使用Xib请按照此操作

请按照以下步骤操作

1)打开您的 xib 文件,然后右键单击文件所有者并拖动到您的第一个视图

在此输入图像描述

2)然后将该视图与“view”的出口绑定

在此输入图像描述

希望你能得到它...