对象,类和isa

你要问我对象是什么?答案真的是千奇百怪,你是要和我处对象吗?NO,其实本质的原因是,我也不知道对象是什么,so,祭出终极法器------万物皆对象

我们都知道Objective-C所有的类都是继承自NSObject,当然还有NSProxy(但是我真的没见过,暂且忽略).我们可以查看头文件

对象,类和isa_第1张图片
屏幕快照 2017-06-04 下午11.27.22.png
对象,类和isa_第2张图片
屏幕快照 2017-06-04 下午11.27.36.png
struct objc_class {
    Class isa  OBJC_ISA_AVAILABILITY;

#if !__OBJC2__
    Class super_class                                        OBJC2_UNAVAILABLE;
    const char *name                                         OBJC2_UNAVAILABLE;
    long version                                             OBJC2_UNAVAILABLE;
    long info                                                OBJC2_UNAVAILABLE;
    long instance_size                                       OBJC2_UNAVAILABLE;
    struct objc_ivar_list *ivars                             OBJC2_UNAVAILABLE;
    struct objc_method_list **methodLists                    OBJC2_UNAVAILABLE;
    struct objc_cache *cache                                 OBJC2_UNAVAILABLE;
    struct objc_protocol_list *protocols                     OBJC2_UNAVAILABLE;
#endif

} OBJC2_UNAVAILABLE;
/* Use `Class` instead of `struct objc_class *` */

你可能感兴趣的:(对象,类和isa)