iOS 几种初始化的分析比较
来源:互联网 发布:mac永恒战士2无限钻石 编辑:程序博客网 时间:2024/06/01 10:48
整天都在初始化,好几种初始化方法,今天有时间了,就来总结一下iOS中的几种常见初始化方法。
1,下边这一种是最简单的初始化,不过一定要记着,在初始化的时候一定要先调用父类的初始化。
- (instancetype)init {
if (self = [superinit]) {
}
return self;
}
2.下边这一种也是初始化,但是这个初始化是用于视图加载nib文件,从nib中加载对象实例时,用下边的方法来初始化这些实例对象,可以是XIB中嵌套XIB,也可以是一个View或者Controller直接来拿XIB,都会调用这个方法。
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [superinitWithCoder:aDecoder];
return self;
}
3.这种就是和上边一种相反,就是在我们写的程序中没有nib文件的时候,就是用纯代码控制的视图内容,掉用下边的方法来实例化对象。
- (instancetype)initWithFrame:(CGRect)frame {
self = [superinitWithFrame:frame];
return self;
}
4.当对象是UIViewController的子类,那么就必须调用下边的方法调用那个NIB文件初始化自身,即使没有使用NIB文件也会调用这个方法,如果调用这个方法,并传递的两个参数为空(nil),然后类会调用-loadView去读区一个名字和对象相同的NIB文件,来初始化自身,如果没有这样的nib文件,就必须调用-setView:来设置一个self.view,或者重载loadView方法
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil]) {
//DO SOME INIT
}
return self;
}
5.自己定义初始化方法了,那样就根据自己的需要来写这个初始化的方法
- (instancetype)initWithWidth:(CGFloat)width height:(CGFloat)height ....
6.- (void)awakeFromNib方法
这个方法也是XIB中惯用的方法,不过这个不是初始化的,这个是,怎么说呢,这是当我们的XIB中约束没拉好,或者XIB中需要增加或者删除控件时,我们可以在这个方法中写约束,写增加或者减少的控件,改变Frame等。
- iOS 几种初始化的分析比较
- 几种构件模型的比较分析
- ios监听的几种方法比较
- 关于使用初始化块初始化变量的几种情况的运行结果分析
- 目前几种常用的代理服务器的比较与分析
- IOS中延时执行的几种方式的比较
- 几种嵌入式实时操作系统的分析与比较
- 几种嵌入式RTOS的分析与比较
- 几种嵌入式实时操作系统的分析与比较
- 几种嵌入式RTOS的分析与比较
- 分析目前比较流行的几种3D立体眼镜
- 几种嵌入式RTOS的分析与比较
- 几种嵌入式RTOS的分析与比较
- 几种嵌入式实时操作系统的分析与比较
- 几种源码开放的嵌入式文件系统分析与比较
- 几种嵌入式RTOS的分析与比较(转)
- 几种源码开放的嵌入式文件系统分析与比较
- 几种随机洗牌算法的分析比较
- 十步完全理解SQL
- Tomcat服务器下部署项目几种方式
- 转载:寒门再难出贵子
- 单向链表
- UVA 11488 Hyper Prefix Sets(字典树)
- iOS 几种初始化的分析比较
- 手机端解决onkeyup事件
- 中介者模式
- iOS崩溃调试的使用和技巧
- Selenium-Grid 实现案列
- android查看手机是否安装了打开某类附件的第三方应有 并用其打开附件
- Socket入门——TCP协议即时聊天
- 搜狐专家与您一起分享“从人力资源到人力资产”
- Ubuntu14.04 lTS 换源