iOS中的initialize与load两个类方法简单理解
2016-04-12 16:53
246 查看
如果你在一个UIViewController中重写了这两个类方法,那么你会在在这个控制器中发现一下现象:
1,相同之处:
(1)这两个类方法在init之前就调用了
(2)在整个应用app中无论你用到这个类多少次,这两个类方法均只会被调用一次
2,不同之处:
(1)load是在initialize之前被调用
(2)更特别的是,如果你没有用到你重写的这个控制器.那你重写的load类方法也会调用.换句话说,这个load方法是在didFinishLaunchingWithOptions方法之前就被调用了
(3)load方法,将整个工程中所有参与编译运行的文件,全部加载到内存.
(4)initialize方法,当第一次使用某个类,就会调用;而且只会调用一次.
3:用法:initialize类方法
initialize类方法的一个经典应用:
往往在一个应用APP中,导航条控制器的导航条几乎是统一的.再加上,一般情况一个应用APP会重写一个导航控制器类.那么initialize类方法就能出场了.比如:
(void)initialize {
NSLog(@”%s:%s”,FILE,func);
//设置导航栏主题
UINavigationBar *navBar = [UINavigationBar appearance];
//接下来就可以对navBar坐各种统一的设置处理了.比如字体,背景….
}
4: load类方法:
调用时期的一种猜想:
在编译的时候,整个工程项目中的所有文件都会参与编译;编译运行完成之后,所有的文件均load进入内存;load类方法在工程运行成功进入首页时候调用完毕.
1,相同之处:
(1)这两个类方法在init之前就调用了
(2)在整个应用app中无论你用到这个类多少次,这两个类方法均只会被调用一次
2,不同之处:
(1)load是在initialize之前被调用
(2)更特别的是,如果你没有用到你重写的这个控制器.那你重写的load类方法也会调用.换句话说,这个load方法是在didFinishLaunchingWithOptions方法之前就被调用了
(3)load方法,将整个工程中所有参与编译运行的文件,全部加载到内存.
(4)initialize方法,当第一次使用某个类,就会调用;而且只会调用一次.
3:用法:initialize类方法
initialize类方法的一个经典应用:
往往在一个应用APP中,导航条控制器的导航条几乎是统一的.再加上,一般情况一个应用APP会重写一个导航控制器类.那么initialize类方法就能出场了.比如:
(void)initialize {
NSLog(@”%s:%s”,FILE,func);
//设置导航栏主题
UINavigationBar *navBar = [UINavigationBar appearance];
//接下来就可以对navBar坐各种统一的设置处理了.比如字体,背景….
}
4: load类方法:
调用时期的一种猜想:
在编译的时候,整个工程项目中的所有文件都会参与编译;编译运行完成之后,所有的文件均load进入内存;load类方法在工程运行成功进入首页时候调用完毕.
相关文章推荐
- ios开发常用的技巧
- IOS-日期处理
- iOS之轻松上手block(下)
- iOS之轻松上手block(上)
- iOS开发:coredata的简单使用
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- ios视频保存Error Domain未知错误
- iOS自动生成对应大小的icon图片代码
- iOS设计模式-适配器
- iOS设计模式-适配器
- CAGradientLayer颜色渐变
- iOS设计模式-适配器
- iOS 图片剪切和压缩的几个方法
- ios键盘在popViewControllerAnimated 时又弹起
- iOS tableView刷新选中cell数据
- 2016年最新苹果开发者账号注册申请流程最强详解!
- iOS学习笔记20-地图(二)MapKit框架
- iOS学习笔记20-地图(二)MapKit框架
- iOS URLEcode,URLDecode
- ios 图片裁剪