首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[NSMutableString string]是否与[[NSMutableString string] autorelease]相同?

[NSMutableString string]是否与[[NSMutableString string] autorelease]相同?
EN

Stack Overflow用户
提问于 2011-12-10 01:21:15
回答 2查看 600关注 0票数 1

我注意到一段代码,它做NSMutableString *myString = [NSMutableString字符串自动释放];

这是不是太夸张了?它不应该和NSMutableString字符串一样吗

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-10 01:28:02

代码语言:javascript
复制
NSMutableString *myString = [[NSMutableString string] autorelease];

如果他们不在其他地方调用retain,就会导致崩溃。

代码语言:javascript
复制
[NSMutableString string]

等同于

代码语言:javascript
复制
[[[NSMutableString alloc] init] autorelease]
票数 5
EN

Stack Overflow用户

发布于 2011-12-10 01:28:19

在我看来不太对劲。您确定您看到的示例确实是这样做的吗?

[NSMutableString string]等同于

代码语言:javascript
复制
[[[NSMutableString alloc] init] autorelease]

因此,使用您提供的示例,您将获得

代码语言:javascript
复制
[[[[NSMutableString alloc] init] autorelease] autorelease]

这将导致过度释放和exc_bad_access错误。

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

https://stackoverflow.com/questions/8449276

复制
相关文章

相似问题

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