iphone直接使用NSString会导致内存泄漏吗?

标签 iphone memory nsstring

对于 NSString,我们可以使用

  1. NSString *str = [[NSString alloc] initWithString:@"hi"]

  2. NSString *str = [NSString stringWithString:@"hi"];

  3. NSString *str = @"hi";

有人可以以第3点的形式告诉我,str是否拥有@“hi”吗?我的意思是清理时是否需要[str release]?

谢谢

对于第 1 点,是的,我需要;对于第 2 点,不,我不这样做

对于第 3 点?

最佳答案

不,您不需要释放它。

字符串文字(即案例 3 中的内容)是在编译时创建的,它们的生命周期就是应用程序的生命周期。您还可以轻松检查释放/保留操作是否不会影响其保留计数(尝试 NSLog keepCount 属性,您会看到这一点)

关于iphone直接使用NSString会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812788/

相关文章:

iphone - 过滤 NSArray 文件?

ios - 无法快速检查提交按钮的条件

iphone - 通过使用低分辨率图像然后交换高分辨率图像来加速 UIImagePickerController

c++ - 指向已删除堆栈内存的指针

javascript - NodeJS 如何处理内存?

c++ - 如何更改 shared_ptr 中的指针而不失去删除内存的能力?

iphone - 视频无法在 iPad/iPhone 上播放

objective-c - 用于对象的 Switch 语句的高性能 Objective C 替代方案

ios - 检查给定字符是否是 Objective-C 中的表情符号

ios - 如何将 NSString 转换为 long double?