对于 NSString,我们可以使用
NSString *str = [[NSString alloc] initWithString:@"hi"]
NSString *str = [NSString stringWithString:@"hi"];
NSString *str = @"hi";
有人可以以第3点的形式告诉我,str是否拥有@“hi”吗?我的意思是清理时是否需要[str release]?
谢谢
对于第 1 点,是的,我需要;对于第 2 点,不,我不这样做
对于第 3 点?
最佳答案
不,您不需要释放它。
字符串文字(即案例 3 中的内容)是在编译时创建的,它们的生命周期就是应用程序的生命周期。您还可以轻松检查释放/保留操作是否不会影响其保留计数(尝试 NSLog keepCount 属性,您会看到这一点)
关于iphone直接使用NSString会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812788/