- 0
- 0
- 约6.3千字
- 约 8页
- 2026-10-12 发布于河北
- 举报
iOSBAT高频面试题及详细答案(实战口语版)
一、Objective-C基础核心题
1.讲讲OC中的消息机制,objc_msgSend执行流程
OC是动态语言,方法调用本质就是给对象发送消息,核心函数是objc_msgSend,整个流程分三步,面试里重点说查找和动态决议:
第一步:消息发送。调用方法时,编译器会把方法调用转成objc_msgSend(对象,方法SEL,参数),首先判断对象是否为空,空对象直接返回,不崩溃。然后从对象的类缓存里查找方法,缓存命中就直接执行方法实现。
第二步:未命中缓存,走类方法列表查找。先查当前类的方法列表,遍历匹配SEL,找到后存入缓存再执行;当前类找不到,就顺着父类链,一直查到根类NSObject。
第三步:动态方法决议。如果整个继承链都没找到方法,不会直接崩溃,会开启补救流程。首先调用resolveInstanceMethod,允许动态添加方法实现;决议失败后,进入消息转发,先尝试快速转发forwardingTargetForSelector,转发给其他对象处理;快速转发无效,再走慢速转发methodSignatureForSelector和forwardInvocation。
所有流程走完还是没有有效实现,才会报unrecognizedselector崩溃。
2.分类(Category)和扩展(
您可能关注的文档
最近下载
- 《医疗纠纷预防和处理条例》的重点解读培训课件.pptx
- 2026武警新疆总队医院社会招聘(29人)笔试备考题库及答案解析.docx VIP
- 2026武警新疆总队医院社会招聘(29人)笔试备考试题及答案解析.docx VIP
- 2026武警新疆总队医院社会招聘(29人)笔试参考题库及答案解析.docx VIP
- 工程造价咨询风险防范控制制度及措施.docx VIP
- 2026年党员个人对照检查材料(含原因剖析整改方案).docx VIP
- 独胆金尊(新排易读版).pptx VIP
- 合规红线与避坑实操手册(2026)GBT 5059.5-2014钼铁 硅含量的测定 硫酸脱水重量法和硅钼蓝分光光度法.pptx VIP
- 合规红线与避坑实操手册(2026)《GBT 15057.5-1994化工用石灰石中二氧化硅含量的测定 钼蓝分光光度法》.pptx VIP
- 宣贯培训(2026年)《GBT 15057.5-1994化工用石灰石中二氧化硅含量的测定 钼蓝分光光度法》.pptx VIP
原创力文档

文档评论(0)