当前位置: 首页 > article >正文

IOS面试题object-c 111-115

111. 简述MRC (手动引用计数)和 ARC( 自动引用计数) ) ?
1 1 、 MRC : alloc , retain , release , retainCount,autorelease,dealloc
2 2 、 ARC :
 ARC 是 LLVM 和 Runtime 协作的结果
 ARC 禁止手动调用 retain,release,retainCount,autorelease 关键字
 ARC 新增 weak,strong 关键字
3 3 、 引用计数管理:
 alloc: 经过一系列函数调用,最终调用了 calloc 函数,这里并没有设置引用计数为 1
 retain: 经过两次哈希查找,找到其对应引用计数值,然后将引用计数加 1(实际是加偏移量)
 release:和 retain 相反,经过两次哈希查找,找到其对应引用计数值,然后将引用计数减 1
 dealloc:
4 4 、 弱引用管理:
 添加 weak 变量:通过哈希算法位置查找添加。如果查找对应位置中已经有了当前对象所对应的弱引用
数组,就把新的弱引用变量添加到数组当中;如果没有,就创建一个弱引用数组,并将该弱引用变量
添加到该数组中。
 当一个被 weak 修饰的对象被释放后,we

http://www.kler.cn/a/271370.html

相关文章:

  • 力扣257. 二叉树的所有路径(遍历思想解决)
  • 华为Ascend产品
  • 「 机器人 」扑翼飞行器控制的当前挑战与后续潜在研究方向
  • 如何用KushoAI提升API自动化测试效率:AI驱动的革命
  • 代码随想录34 动态规划
  • 使用 MSYS2 qemu 尝鲜Arm64架构国产Linux系统
  • VsCode 配置go开发环境之下载go tools
  • Python之requests实现github模拟登录
  • 智慧交通:构建智慧城市的重要一环
  • Ribbon跟Nginx实现负载均衡的区别!
  • 子组件自定义事件$emit实现新页面弹窗关闭之后父界面刷新
  • Avalonia学习1:下载通用皮肤SukiUI,并在windows上启动成功
  • Vue打包问题汇总:legacy、runtime.js
  • DragDiffusion的Win10部署方案
  • Leet code 179 最大数
  • <.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)
  • 力扣每日一题 矩阵中移动的最大次数 DP
  • C#,图论与图算法,图(Graph)的数据结构设计与源代码
  • OPENCV(0-1之0.2)
  • 使用endnote插入引用文献导致word英文和数字变成符号的解决方案
  • mybatis源码阅读系列(二)
  • 已解决org.apache.zookeeper.KeeperException.InvalidACLException异常的正确解决方法,亲测有效!!!
  • 实战:django项目环境搭建(pycharm,virtualBox)
  • VS中创建C++项目(c++/cli)
  • 基于FPGA的图像锐化算法(USM)设计
  • NVENC 视频编码器 API 编程指南 ( 中文转译 )