objective-c - IOS保留在后端做什么

标签 objective-c ios copy retain retaincount

<分区>

假设我正在分配一个对象。请看下图

enter image description here

在上图中,*myObject 是一个指针。它指的是分配给该对象的空间。当我们保留对象时,我想知道它在后端做了什么。我也想知道我们为什么要这样做。

另外,当我们发布它时,它是如何在后端工作的。

我也想知道当我们复制一个对象时后端会发生什么。

如果我的问题如此基础,我真的很抱歉。

最佳答案

保留实际上在幕后做的是:

  1. 在 objc 运行时获取全局锁
  2. 根据指向被保留对象的指针查找哈希表条目
  3. 在该条目中增加一个计数器
  4. 释放锁

我不希望这对实践有很大帮助,但我认为这正是您所要求的。

关于objective-c - IOS保留在后端做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12990128/

上一篇:ios - UIViewController 旋转 View 但不调整它的大小

下一篇:iphone - UIAlertViewDelegate 未按预期运行

相关文章:

javascript - 为什么 redux 每次更改时都需要复制数据?

ios - 多用户 iOS SDK

Java char 数组复制产生奇怪的结果

objective-c - 路径上的矩形碰撞检测

iphone - "object file format unrecognized, invalid, or unsuitable"Xcode 错误

ios - Swift - 如何使用偏移选项将 UNIX 时间转换为工作日?

javascript - CSS/JS 转换 :translate3d and scrolling - smooth on Android, 在 iPhone 上没有动量

string - 切片字符串会复制底层数据吗?

ios - presentViewController 后导航栏不显示

iphone 开发 : using tableview cells as a button