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

相关推荐

  1. IOS面试编程机制 21-25

    2024-03-25 19:50:05       37 阅读
  2. IOS面试编程机制 16-20

    2024-03-25 19:50:05       37 阅读
  3. IOS面试编程机制 26-30

    2024-03-25 19:50:05       30 阅读
  4. IOS面试object-c 21-30

    2024-03-25 19:50:05       45 阅读
  5. IOS面试编程机制 6-10

    2024-03-25 19:50:05       34 阅读
  6. IOS面试编程机制 11-15

    2024-03-25 19:50:05       36 阅读
  7. IOS面试编程机制 1-5

    2024-03-25 19:50:05       34 阅读
  8. IOS面试编程机制 56-60

    2024-03-25 19:50:05       33 阅读
  9. IOS面试编程机制 51-55

    2024-03-25 19:50:05       40 阅读
  10. IOS面试编程机制 36-40

    2024-03-25 19:50:05       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 19:50:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 19:50:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 19:50:05       82 阅读
  4. Python语言-面向对象

    2024-03-25 19:50:05       91 阅读

热门阅读

  1. 【 Vue 】辅助创建VNode的h函数

    2024-03-25 19:50:05       36 阅读
  2. Spark 集群管理器

    2024-03-25 19:50:05       43 阅读
  3. C语言刷题(18)

    2024-03-25 19:50:05       41 阅读
  4. AST抽象语法树&webpack逻辑解析

    2024-03-25 19:50:05       57 阅读