自动释放 NSString

Posted

技术标签:

【中文标题】自动释放 NSString【英文标题】:Autorelease NSString 【发布时间】:2010-08-24 20:49:14 【问题描述】:

我负责释放这个字符串,默认是自动释放的吗?

// command is of type NSData*
char cAddress[12];
[command getBytes:cAddress range:NSMakeRange(5,12)];
NSString *someString = [NSString stringWithCharacters:(const unichar*)cAddress length:12];

【问题讨论】:

关于主题,阅读并记住Object Ownership Policy。 如果在声明变量时不使用自动释放,则必须在程序中[释放]该项目。 @MarkSiu 除非该方法返回一个自动释放的对象,否则该方法会这样做。 【参考方案1】:

默认自动释放。

【讨论】:

【参考方案2】:

默认情况下它是自动发布的。 保留对象通常使用以下形式的方法创建:

[[MyClass alloc] ...]
[MyClass new] 
[object copy]

【讨论】:

或任何包含 alloc/new/copy的方法。请阅读内存管理编程指南 (developer.apple.com/mac/library/documentation/cocoa/conceptual/…)。它是 Cocoa 内存管理的一个真正的内存参考。 我同意。非常重要的文件。

以上是关于自动释放 NSString的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 开发 - 释放一个自动释放的对象

自动释放池

29-oc自动释放池

如何找到带有自动释放消息的对象?

何时释放带有“自动释放”的对象?

iphone:多次自动释放对象