关于OC 的Initialize
来源:互联网 发布:经颅多普勒正常值数据 编辑:程序博客网 时间:2024/06/02 04: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.871 initialize_demo[40378:9b] SuperA initialize
2013-11-04 11:03:25.872 initialize_demo[40378:9b] SuperA init
2013-11-04 11:03:25.873 initialize_demo[40378:9b] SuperA init
2013-11-04 11:03:25.873 initialize_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 = [[SubA alloc] init];
SuperA* sA1 = [[SuperA alloc] init];
SuperA* sA2 = [[SuperA alloc] init];
SuperA* sA3 = [[SuperA alloc] 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
- 设备管理器里的6TO4 Adapter
- 工厂模式
- 论SEO
- insmod
- Reduce Gaming Latency (Lowering Ping) in Windows
- 关于OC 的Initialize
- Visual Studio 2010 + IE 9无法断点调试JavaScript的解决方法
- C常见编译错误(转)
- .Net Ajax调用后台代码
- 关于view的变换
- 苹果OS X 10.9 系统:[1]U盘安装教程
- VC实现PPPOE拨号
- 得到一个2^N数
- Python调用windows下DLL详解 - ctypes库的使用