objc_object - ShenYj/ShenYj.github.io GitHub Wiki

objc_object

objc_object就是OC中对象object的c语言定义,可以看到对象就是一个结构体

/// Represents an instance of a class.
struct objc_object {
    Class _Nonnull isa  OBJC_ISA_AVAILABILITY;
};
/// A pointer to an instance of a class.
typedef struct objc_object *id;

此结构体内有一个isa成员变量,其类型为Class。

顺便了解下OC中常用的一个通用类型id,最初写代码的时候有没有疑惑过为什么声明id类型的变量不用加上*
因为它本身就是一个指针, 是一个指向objc_object的指针。

⚠️ **GitHub.com Fallback** ⚠️