iOS对象初始化过程

91 阅读1分钟

记录一下自己探究对象初始化的过程🔽

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        WSPerson *person = [WSPerson alloc];         NSLog(@"%p",person);

    }     return 0; } 断点到person,然后设置断点到底层的代码callAlloc到了下图位置

871653985190_.pic.jpg 到了第一个断点,然后到了调用 点击这个 _objc_rootAllocWithZone 进入底层的实现,

WeChat7f188bfaeff30e7f95f12c0a3f2da41e.png 再点击

WeChatc37605062be271a94fb3bc07b4170326.png

WeChat1ec19c8f7fbd8d9db314f0da8e202039.png

通过上图的流程 整个初始化的大概流程就是

711653985831_.pic.jpg