欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

OC ISA 的去向图和类继承关系

最编程 2024-03-05 19:50:27
...
#import <Foundation/Foundation.h> #import <objc/runtime.h> #import <malloc/malloc.h> #import "LGPerson.h" #import "LGTeacher.h" int main(int argc, const char * argv[]) {     @autoreleasepool {         // insert code here...         LGPerson *p= [LGPerson alloc];         LGTeacher *t =[LGTeacher alloc];         NSObject *objc = [NSObject alloc];                  //NSObject 类         Class class = object_getClass(objc);         // NSObject元类         Class metaClass = object_getClass(class);         // NSObject 根元类         Class rootClass = object_getClass(metaClass);         // NSObject 元类父类         Class o_superClass = class_getSuperclass(metaClass);         NSLog(@"\n%p NSObject实例对象\n%p 类\n%p 元类\n%p 根元类 \n%p 元类父类",objc, class, metaClass, rootClass, o_superClass);                  //p 类         Class p_class = object_getClass(p);         // p元类         Class p_metaClass = object_getClass(p_class);         // p 根元类         Class p_rootClass = object_getClass(p_metaClass);         // p 元类父类         Class p_superClass = class_getSuperclass(p_metaClass);         NSLog(@"\n%p LGPerson实例对象\n%p 类\n%p 元类\n%p 根元类 \n%p 元类父类",p, p_class, p_metaClass, p_rootClass, p_superClass);                  //t 类         Class t_class = object_getClass(t);         // p元类         Class t_metaClass = object_getClass(t_class);         // p 根元类         Class t_rootClass = object_getClass(t_metaClass);         // p 元类父类         Class t_superClass = class_getSuperclass(t_metaClass);         NSLog(@"\n%p LGTeacher实例对象\n%p 类\n%p 元类\n%p 根元类 \n%p 元类父类",t, t_class, t_metaClass, t_rootClass, t_superClass);              }     return 0; }