我只是好奇,下面这两个代码有什么区别吗?
NSString *字符串= NSString字符串:@“字符串”;
NSString *aString =@“一个字符串”;
我想知道当您使用后一种方法时,究竟发生了什么。
发布于 2012-03-06 15:03:11
两者都指向在编译时创建的文字字符串。
即使stringWithString建议自动释放,文字字符串也永远不会释放。
请看我的相关帖子:
Difference between NSString literals
这样的对象是在编译时创建的,并且存在于程序的整个执行过程中。编译器使这样的对象常量在每个模块的基础上是唯一的,并且它们永远不会被释放,尽管您可以像处理任何其他对象一样保留和释放它们。
https://stackoverflow.com/questions/9579295
复制相似问题