OC类的本质

来源:互联网 发布:花千骨网络流行语 编辑:程序博客网 时间:2024/05/29 16:59

1、类的本质

    其实类也是一个对象,是Class类型的对象,简称 “类对象”

    Class类型 定义:typedef struct objc class *Class;

    类名就代表这类对象,每个类只有一个类对象


2、+load和+initialize

      +load

      在程序启动的时候会加载所有的类和分类,并调用所有类和分类的+load方法

   先加载父类,再加载子类;也就是先调用父类的+load,再调用子类的+load

   先加载元原始类,再加载分类

   不管程序运行过程有没有用到这个类,都会调用+load加载


  +initialize

   在第一次使用某个类时(比如创建对象等),就会调用一次+initialize方法

   一个类只会调用一次+initialize方法,先调用父类的,再调用子类的


3、获取类对象的两种方法

      Class c = [Person clasa] ;    // Person 为一个类的类名 class 类方法

      或者

   Person *p = [ [Person alloc] init ];

   Class c = [P class];       // 对象方法


4、类对象调用类方法

    Class  c = [Person class];

    Person *p = [ [c alloc] init ]



0 0
原创粉丝点击