获取笔尖名称/笔尖究竟是什么?

时间:2015-08-26 23:12:43

标签: ios swift nib

我正在尝试使用来自的pod在我的应用中实现页面菜单segue this pre-built page menu pod from github

在说明中,它说:

    var controller : UIViewController = UIViewController(nibName:"controllerNibName", bundle: nil)
    controller.title = "SAMPLE TITLE"
    controllerArray.append(controller)

这是我的代码:

    var chatAreaCtrl : UIViewController = ChatAreaCtrl(nibName: "ChatAreaCtrl", bundle: nil)
    chatAreaCtrl.title = "Chats"
    controllerArray.append(chatAreaCtrl)

这让我错误:

    Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: ...(loaded)' with name 'ChatAreaCtrl''

我是编程和Swift的新手,但我想我没有指定Nib是正确的?

谢谢!

1 个答案:

答案 0 :(得分:8)

Nibfiles是用户界面文件的旧名称。它们现在实际上是.xib文件(文件扩展名已经改变了一段时间。)但是,年龄较大的学校开发人员和方法仍使用术语nib。

仍支持Nibfiles(或XIB文件,如果您愿意),但大多数人都使用故事板。

如果您在Xcode中创建用户界面文件并使用名称ChatAreaCtl.xib保存它,那么您将能够使用您显示的代码对其进行初始化。

与故事板等效的是在故事板中创建一个新场景,定义视图控制器的界面,然后使用instantiateViewControllerWithIdentifier创建该视图控制器的实例(instantiateViewControllerWithIdentifier是故事板相当于initWithNibName:bundle:。或者我想我应该对Swift说UIViewController(_nibName:bundle:)。仍然可以使用Swift中函数模板的语法。)