alloc 流程图
2022-01-07 23:24:42 5 举报
alloc流程
作者其他创作
大纲/内容
YES
allocWithZone是否为YES
方法映射,调用objc_alloc,标识receiver,下次不走objc_alloc
fastpath(!cls->ISA()->hasCustomAWZ())
这时的checkNil参数为NO,allocWithZone为YES
这时的checkNil参数为YES,allocWithZone为No
cls->instanceSize(extraBytes);计算所需的内存大小
callAlloc
NO
_class_createInstanceFromZone
initInstanceIsa:初始化指针 ,和类关联起来
生成对象
slowpath(checkNil && !cls)
calloc 开辟内存空间
调用_objc_rootAllocWithZone
调用alloc方法
return nil
有标记存在,正常调用alloc
allocWithZone
_objc_rootAlloc
通过objc_msgSend发送alloc
收藏
0 条评论
下一页