NSObject
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSObject相关的知识,希望对你有一定的参考价值。
初始化类
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的主要内容,如果未能解决你的问题,请参考以下文章
来自 NSobject 类的 popToRootViewControllerAnimated 给出错误