码迷,mamicode.com
首页 > 其他好文 > 详细

NSObject

时间:2017-09-26 01:09:15      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:als   --   ide   第一个   time   运行时   instance   继承   log   

初始化类

1. + (void)initialize;
在程序主动调用类的第一个方法前,initialize会被调用;如果类的某些方法是被系统调用的,不算是程序主动调用;如果类有继承,
父类的initialize会先于子类被调用;如果子类没有实现initialize或者显示调用[super initialize],父类的initialize就有可能被多次调用;
可以在父类中重写initialize,来避免父类的initialize被多次调用;

+ (void)initialize {
  if (self == [ClassName self]) {
    // ... do the initialization ...
  }
}

 2. + (void)load;

当类或类别被系统运行时runtime加载时,如果该类或类别实现了load,load会被调用;

如果想在类加载完成后,执行一些代码,就实现load;

 

创建,复制,释放对象

1.+ (instancetype)alloc;

alloc会生成一个新的对象,但是对象中的实例变量都未初始化,地址指向0;

一般需要重写init来初始化类的实例变量;

TheClass *newObject = [[TheClass alloc] init]; --创建对象

 

NSObject

标签:als   --   ide   第一个   time   运行时   instance   继承   log   

原文地址:http://www.cnblogs.com/gaihui/p/7594642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!