当前位置:  开发笔记 > 编程语言 > 正文

我是否需要释放使用@"..."生成的NSString?

如何解决《我是否需要释放使用@""生成的NSString?》经验,为你挑选了2个好方法。

如果我使用下面的代码创建一个NSString,我是否需要释放someString?

NSString *someString = @"somestring";

Brian Mitche.. 20

不,它是一个编译时常量字符串对象,因此不需要释放.它是char*c ="hello world"的道德等价物 - 其中字符串hello world在全局数据中,并且您将此数据的地址分配给指针c.



1> Brian Mitche..:

不,它是一个编译时常量字符串对象,因此不需要释放.它是char*c ="hello world"的道德等价物 - 其中字符串hello world在全局数据中,并且您将此数据的地址分配给指针c.



2> Dave DeLong..:

如果您通过包含alloc,retaincopy,或以new(NARC ="narc")开头的方法调用创建了一个对象,那么您负责releasing该对象.如果不是这种情况,那么您可以忽略该对象.

所以在字符串的情况下:

NSString * myString = @"This is a string";

我没有看到NARC方法的调用,所以你不负责释放它.这真的很简单.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有