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 给出错误

从 NSObject 类推送 iOS UIViewController

未能创建本机类型“NSObject”的实例

NSObject 到 json?

如何调用从 NSObject 类添加视图

将 NSobject 数据存储到 Nsuserdefaults