关于分类运行时决议的问题

来源:4-2 分类相关面试问题-1

HWHZSY

2018-09-05

老师,您好。

您说关于分类,是runtime把内容添加到相应的数组类上,对吗?

然后这个数组类是干什么用的呢


写回答

1回答

于海

2018-09-05

不存在数组类的概念,class_rw_t结构当中有一个二维数组,二维元素存储方法即Method结构,在runtime初始化之后,会把我们以分类形式添加的方法,按照最后编译最先添加的顺序原则,将每个分类当中的方法添加到这个二维数组中,我们在oc当中发送一个消息的时候,需要根据该二维数组,以选择器因子作为key查找方法实现,来执行。

1
2
夜鸽
回复
慕数据2138426
一维数组的话,一个类的多个分类就没法搞了。个人见解?
2019-07-16
共2条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程