恒定的NSString发布

问题描述:

NSString *string = @"hello"; 

1)我一直在读那不变的NSString不会被释放,但这种苹果页提到:恒定的NSString发布

编译器可以进行这样的对象中每一个模组 基础上 常数独特,并且他们永远不会被释放, 尽管您可以保留并释放它们,就像您做任何其他对象一样。

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/strings/Articles/CreatingStrings.html

2)如果不变的NSString没有得到释放,将它,因为内存问题,如果广泛使用?例如,如果重复数千次,这是一个问题:

NSString *string = @"One"; 
... 
string = @"two"; 
... 
string = @"three"; 
... 

什么是一个好的选择?

常量字符串是您应用程序的二进制文件的一部分。

因此,您不需要担心内存管理,因为它们通过所有执行存在并且无法释放。