本文主要是介绍IOS面试题object-c 121-125,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
121. 简述Category 在编译过后,是在什么时机与原有的类合并到一起的? ? |
1. 程序启动后,通过编译之后,Runtime 会进行初始化,调用 _objc_init。 2. 然后会 map_images。 3. 接下来调用 map_images_nolock。 4. 再然后就是 read_images,这个方法会读取所有的类的相关信息。 5. 最后是调用 reMethodizeClass:,这个方法是重新方法化的意思。 6. 在 reMethodizeClass: 方法内部会调用 attachCategories: ,这个方法会传入 Class 和 Category ,会将方法列表,协议列表等与原有的类合并。最后加入到 class_rw_t 结构体中。 |
🚀🚀🚀🚀🚀🚀 |
122. 简述 [self class] 与 [super class] ? |
@1. self 是类的隐藏的参数,指向当前调用方法的对象(类也是对象,类对象),另一个隐藏参数是_cmd,代表当前类方法的selector。 |
@2. super并不是隐藏的参数,它只是一个"编译器指示符",super 就是个障眼法,总而言之 |
这篇关于IOS面试题object-c 121-125的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!