iOS - 基础知识点回顾(一)

一个NSobject对象占用多少内存

进入NSObject的头文件,有一个指向结构体的isa指针(指针大小8个字节)

/// An opaque type that represents an Objective-C class.
typedef struct objc_class *Class;

/// Represents an instance of a class.
struct objc_object {
    Class _Nonnull isa  OBJC_ISA_AVAILABILITY;
};
  • 系统分配了16个字节给NSObject对象(通过malloc_size函数获得)
  • NSObject对象内部只使用了8个字节空间(64bit环境下,可以通过class_getInstanceSize函数获得)