首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >目标C NSString保留

目标C NSString保留
EN

Stack Overflow用户
提问于 2010-04-05 08:13:40
回答 1查看 425关注 0票数 1

如果我用NSString StringWithFormat创建一个字符串,我必须保留它吗?我的理解是方便的方法将对象添加到自动释放池中。如果是这样的话,我们不是应该保留对象,这样它就不会在事件循环结束时被池耗尽吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-05 08:30:15

如果字符串应该在当前函数之后继续存在,那么是的,需要它的对象应该保留它。这里有一个地方,其中英语短语看似琐碎,但实际上隐藏了一个关键的概念。而不是说“我必须保留它吗?”或者(就像我最初写的那样)“如果你想让字符串持久化”,那就用一个对象来保留字符串。不同之处在于后者表达了ownership的概念(注意:苹果文档在谈论所有权时使用了“你”,但它是第三人称中性的“你”,而不是第二人称“你”)。当然,如果您将字符串存储在property中,那么将为您处理保留(或复制)。除非您需要针对较旧版本的OS X (10.4及更早版本),否则通常应使用属性。

标准集合拥有它们所包含的对象,并因此保留它们。当从集合中删除一个元素时,集合将释放该元素(注意:它们不会自动释放,因此如果该对象没有其他所有者,则该对象将被销毁)。在"Validity of Shared Objects“中阅读有关此主题的更多信息。苹果的memory management文档应该会告诉你你需要知道的一切。

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

https://stackoverflow.com/questions/2576377

复制
相关文章

相似问题

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