首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人工参考计数和AutoRelease

人工参考计数和AutoRelease
EN

Stack Overflow用户
提问于 2015-09-24 10:21:26
回答 1查看 738关注 0票数 0

在手动内存管理中,您将使用什么方案来自动发布

我想做好充分的准备,因为我要做一个没有ARC的项目

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-24 10:34:36

当需要从方法返回对象时,通常使用autorelease,同时放弃所有权:在返回调用端(而不是创建方法)时,应该拥有该对象。

如果您只是在返回对象之前放弃所有权(使用release),则会立即解除它的分配,并且调用方无法使用它。如果不调用release,则对象从被调用的函数(实例化它)的引用计数为+1,在调用方声明所有权之后,该引用计数也没有进一步释放的机会。

因此,autorelease就像一个“延迟发布”:对象稍后会被发送一个function方法(但不是在返回它的函数之前)。

增编:

另一种方法是返回具有一致的引用计数为1的对象,并在完成时依赖调用方来释放它。

这是通过对这些方法采用预先确定的命名模式来明确的:在可可中,这些方法通常包含"alloc“、"new”、"copy“或"mutalbeCopy”等词。

资料来源:苹果的文档.

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32758894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档