关于OC 的Initialize
来源:互联网 发布:阿里云api怎么使用 编辑:程序博客网 时间:2024/06/06 21:01
initialization和finalization 目的在于每个类在运行的时候就进行初始化在程序结束时执行finalization,但这与OC有点点不同的就在于,DELPHI的不是类函数class function(C++的说法,静态成员函数,类方法),OC的表现为类方法(+)。
- @implementation SuperA
- +(void) initialize {
- NSLog(@"SuperA initialize");
- }
- -(void) init {
- NSLog(@"SuperA init");
- }
- @end
- SuperA* sA1 = [[SuperA alloc] init];
- SuperA* sA2 = [[SuperA alloc] init];
- SuperA* sA3 = [[SuperA alloc] init];
2013-11-04 11:03:25.871initialize_demo[40378:9b] SuperA initialize
2013-11-04 11:03:25.872initialize_demo[40378:9b]SuperA init
2013-11-04 11:03:25.873initialize_demo[40378:9b]SuperA init
2013-11-04 11:03:25.873initialize_demo[40378:9b]SuperA init
- +(void) initialize {
- NSLog(@"initialize class:%@", [self class]);
- }
- @interface SubA : SuperA
- @end
- SuperA* sA1 = [[SuperA alloc] init];
- SuperA* sA2 = [[SuperA alloc] init];
- SuperA* sA3 = [[SuperA alloc] init];
- SubA* sb = [[SubA alloc] init];
2013-11-04 11:12:36.431 initialize_demo[40108:9b] initialize class:SuperA
2013-11-04 11:12:36.431 initialize_demo[40108:9b] SuperA init
2013-11-04 11:12:36.431 initialize_demo[40108:9b]SuperA init
2013-11-04 11:12:36.431 initialize_demo[40108:9b]SuperA init
2013-11-04 11:12:36.431 initialize_demo[40108:9b] initialize class:SubA
2013-11-04 11:12:36.431 initialize_demo[40108:9b] SubA init
SubA* sb = [[SubAalloc] init];
SuperA* sA1 = [[SuperAalloc] init];
SuperA* sA2 = [[SuperAalloc] init];
SuperA* sA3 = [[SuperAalloc] init];
同样的你也分别把父类,子类的 initalize进行注释了运行,你就会发现,initalize 父类与子类没有毛钱关系,只与对象实例有关系。也就是说每个类如果有initalize则会被CALL, 如果没有这个方法也不会在实化时调用父类。这点跟DELPHI还是很像的,只不过DELPHI是写成了全局的,跟类没有关系。- 关于OC 的Initialize
- 关于OC 的Initialize
- oc中initialize与init的区别
- oc中init和initialize的区别
- 关于IOS OC 中的load 和 initialize 方法
- OC中的initialize方法
- [基础]OC的initialize和init方法的区别
- OC中类的load和initialize方法
- OC中initialize方法和init方法的区别
- OC中load方法和initialize方法的异同
- 关于OC的autorelease
- 关于OC的autorelease
- 关于block的OC
- OC load 和 initialize 方法
- kidd风的IOS日志之OC中initialize方法和init方法的区别
- OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
- OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
- JS库Mootools的Class类之一关于initialize
- Runtime
- Linux内核学习实践之红外驱动分析—RCA38KHz软解码
- hadoop-2.0.0-cdh4.4.0 doc
- 最简单的模块编程编译出错了?!新手请教…
- 如何通过session控制单点登录
- 关于OC 的Initialize
- C语言 子函数return(局部变量&局部指针&栈)机制
- oracle导入导出表及表结构
- Date
- C++点滴拾遗
- Linux下两个工具convmv和iconv
- call(),apply(),callee,caller,cookie方法,setInterval(),clearInterval(),setTimeout() ,clearTimeout()
- 转载_Jlink 命令行 下载bin文件
- Math