[NSMutableString string]与[[NSMutableString string] autorelease]相同吗?

时间:2011-12-09 17:21:15

标签: objective-c nsstring autorelease

我注意到它的某个地方有一段代码     NSMutableString * myString = [[NSMutableString string] autorelease];

有点矫枉过正吗?它不应该与[NSMutableString string]相同吗?

2 个答案:

答案 0 :(得分:5)

NSMutableString *myString = [[NSMutableString string] autorelease];
如果他们没有在其他地方调用保留,

将导致崩溃。

[NSMutableString string]

相同
[[[NSMutableString alloc] init] autorelease]

答案 1 :(得分:3)

看起来不对我。你确定你看到的例子实际上是这样做的吗?

[NSMutableString string]相当于

[[[NSMutableString alloc] init] autorelease]

因此,根据您提供的示例,您将获得

[[[[NSMutableString alloc] init] autorelease] autorelease]

会导致过度发布和exc_bad_access错误。

相关问题