如果我使用下面的代码创建一个NSString,我是否需要释放someString?
NSString *someString = @"somestring";
Brian Mitche.. 20
不,它是一个编译时常量字符串对象,因此不需要释放.它是char*c ="hello world"的道德等价物 - 其中字符串hello world在全局数据中,并且您将此数据的地址分配给指针c.
不,它是一个编译时常量字符串对象,因此不需要释放.它是char*c ="hello world"的道德等价物 - 其中字符串hello world在全局数据中,并且您将此数据的地址分配给指针c.
如果您通过包含alloc
,retain
或copy
,或以new
(NARC ="narc")开头的方法调用创建了一个对象,那么您负责releasing
该对象.如果不是这种情况,那么您可以忽略该对象.
所以在字符串的情况下:
NSString * myString = @"This is a string";
我没有看到NARC方法的调用,所以你不负责释放它.这真的很简单.