Swift语言环境下使用init 加载自己的 xib文件

原创 2015年07月09日 09:52:39

1.Swift下创建xib

2.重写init(nibNameOrNil, bundleOrNil)

要让Controller能与xib关联,关键是init(nibNameOrNil, bundleOrNil)方法。既然子类没有自动继承,我们就得亲自添加相关代码。如下:

1继承并重写用nibName初始化的init方法

    //要让Controller能与xib关联,关键是init(nibNameOrNil, bundleOrNil)方法

   overrideinit(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {

        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)

    }

2前面我们重写了init(nibNameOrNil, bundleOrNil)方法,但如果要使用,那么不得不每次都提供两个参数,这是很麻烦的事。

//重写无参数初始化方法,自动调用xib文件

 //重写无参数init方法,自动调用xib文件

    convenienceinit(){

        var nibNameOrNil ="NibViewController"

        self.init(nibName: nibNameOrNil, bundle:nil)

    }

3.附加代码


写完上述代码后,编译器会报错,提示要加入一段代码才行。双击错误提示,编译器会自动加入以下代码。当然你也可以亲手打进去:

//编译器提示需要加入的代码

required init(coder aDecoder: NSCoder) {

        fatalError("init(coder:) has not been implemented")

}



相关文章推荐

iOS swift使用xib绘制UIView

目标:用xib绘制一个UIView,在某个ViewController中调用。 三个文件:ViewController.swift    DemoView.swift     DemoView.xi...
  • worldzhy
  • worldzhy
  • 2015年07月22日 23:07
  • 13145

swift iOS8 XIB 问题

今天遇到一个很无语的问题,工程一直在iOS9环境的真机上调试,今天拿iOS8的机子调试,发现所有使用XIB创建的 ViewController都不可用,我屮艸芔茻,这是怎么回事,无语啊。 ...

swift中的xib使用

oc中的xib使用大家应该都烂熟于心了,但是swift中的xib的使用可能大家还不是很清楚。在下使用时做了一些总结,但愿可以帮到大家: 1.建立一个小哦xib文件,这一步想必很简单就不啰嗦了:2.建...

Swift - 加载XIB 文件

Swift 语言是大趋势 快速开发也是苹果公司推崇的一种开发方式  XIB 和 StoryBoard 是快速开发的一种方式    我们可以结合 这几种方式快速开发我们的项目  但是 StoryB...

动态加载XIB文件DEMO

  • 2012年09月20日 13:32
  • 59KB
  • 下载

ios – 使用UINib加载xib文件实现UITableViewCell

xib文件的实质是xml,描述界面对象,每个对象都有一个很重要的属性,identity inspector面板中class属性,加载xib文件的时候实际上是实例化界面对象相对应的这些class。 ...

xib文件再次加载导致的orientation问题

最近在做一个iPad的项目, 整个程序暂时只是支持landscape模式。 所以我们把项目设定里面的支持设备方向的地方设置好, 然后把所有viewController里面的shouldAutorota...
  • zrwabc
  • zrwabc
  • 2012年08月06日 21:11
  • 585

IOS_启动过程_项目文件_传统xib_加载view_空项目

H:/0720/01-Application和AppDelegate_main.m// // main.m // 01-Application和AppDelegate // // Created...

Swift - 使用NSURLSession加载数据、下载、上传文件

原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_780.html NSURLSession类支持三种类型...

Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)

(本文代码已升级至Swift3)  下面通过一个例子将联系人数据保存到沙盒的“documents”目录中。(联系人是一个数组集合,内部为自定义对象)。 1,样例功能 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift语言环境下使用init 加载自己的 xib文件
举报原因:
原因补充:

(最多只允许输入30个字)