当前位置:   article > 正文

IOS面试题编程机制 21-25

IOS面试题编程机制 21-25
21. IOS使用Runtime Associate方法关联的对象,需要在主对象dealloc的时候释放么?
在ARC下不需要
在MRC中,对于使用retain或copy策略的需
22. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?
因为编译后的类已经注册在 runtime 中,类结构体中的 objc_ivar_list 实例变量的链表 和 instance_size 实例变量的内存大小已经确定,同时runtime 会调用 class_setIvarLayout 或 class_setWeakIvarLayout 来处理 strong weak 引用。所以不能向存在的类中添加实例变量,
运行时创建的类是可以添加实例变量,调用 class_addIvar 函数。但是得在调用 objc_allocateClassPair 之后,objc_registerClassPair 之前,原因同上。
23. 阐述IOS Runloop和线程关系?
Runloop和线程是紧密相连的,可以这样说Runloop是为了线程而生,没有线程,它就没有存在的必要。Runloop是线程的基础架构部分, Cocoa 和 CoreFundation 都提供了 Runloop对象方便配置和管理线程的Runloop
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/312642
推荐阅读
相关标签
  

闽ICP备14008679号