IOS保留在后端做啥[关闭]

Posted

技术标签:

【中文标题】IOS保留在后端做啥[关闭]【英文标题】:What is IOS retain do at backend [closed]IOS保留在后端做什么[关闭] 【发布时间】:2012-10-20 15:54:11 【问题描述】:

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

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

当我们发布它时它在后端的工作方式。

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

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

【问题讨论】:

你真的找不到这些信息的来源吗?它在网络上的许多地方免费提供。你说的后端是什么意思?阅读 obj C 有大量的资源,我确信这个问题已经在 SO 上被回答了一千次了。 我搜了一下,有人说它给了所有权等...后端是指操作系统ios 如果已经回答了确切的问题,请提供链接,我将删除该问题。谢谢你.. 不是我的工作人员,在 obj C 保留和释放语义上的谷歌搜索将返回一百万个结果。我的问题是你为什么不能搜索它并找到它? 好的,谢谢@stackmonster 生病搜索它。 【参考方案1】:

retain 在幕后的实际作用是:

    在 objc 运行时获取全局锁 根据指向被保留对象的指针查找哈希表条目 在该条目中增加一个计数器 解除锁定

我不认为这在实践中会有那么大的帮助,但我认为这正是您所要求的。

【讨论】:

谢谢@Catfish .. 哈希表的地址值如何.. 我同意。我想知道当我们保留时会发生什么……比如对象会在另一个位置重新创建吗? 我听不懂你在问什么,抱歉。 我想问的是,当我们进行保留时,对象内存中发生的事情是增加的。 它所做的只是增加一个数字。就是这样。对象没有任何反应。 谢谢@catfish 为什么我们要这样做,为什么我们不能用一个分配器生存为什么我们需要保留。如果我的问题如此基本,我很抱歉。非常感谢您帮助我理解。

以上是关于IOS保留在后端做啥[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java 后端到底是在做啥?

发射“[]”的字符串到PHP驱动后端[关闭]

React+后端实现导出Excle表格的功能

一个简单粗暴的前后端分离方案

晚饭都没吃,我一前端帮后端做了一点SQL优化,才避免了通宵

计算机前端和后端区别