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