首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时释放临时NSString StringWithFormat?

何时释放临时NSString StringWithFormat?
EN

Stack Overflow用户
提问于 2011-04-26 03:24:50
回答 2查看 2.3K关注 0票数 2

请帮助新手进行iPhone开发。在我的应用程序中,我经常这样做,而Instruments将其显示为泄漏。这样做的正确方法是什么?

我正在尝试将数字数据重新格式化为字符串,以便在NSMutableDictionary对象中使用。所以我想如果我做这样的事情会很棒:

代码语言:javascript
复制
[myDict setObject:[NSString stringWithFormat:@"%d", section] forKey:@"Category"];

我讨厌不得不写3行来做这个……

代码语言:javascript
复制
NSString *cat = [NSString stringWithFormat:@"%d", section];
[myDict setObject:cat forKey:@"Category"];
[cat release];

如果有必要,我会这样做,但对于这种短暂的使用,最佳实践是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-26 03:28:45

你不需要释放它。因为stringWithFormat不是以allocinitnewcopymutableCopy开头的,所以除非您显式地保留了它,否则您没有责任释放它。

当Instruments显示泄漏时,它会显示泄漏对象的分配位置,但不一定是实际导致泄漏的代码。我怀疑你在泄露myDict,因此里面的所有对象也都被泄露了。

票数 8
EN

Stack Overflow用户

发布于 2011-04-26 03:27:56

你永远不会释放它。它已经自动发布了。

您只能释放通过名称以+alloc+new -copy-mutableCopy-retain开头的方法提供给您的对象。如果名称以任何其他名称开头,则您不拥有它,也不负责发布它。

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

https://stackoverflow.com/questions/5782256

复制
相关文章

相似问题

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