我已经看到了一些答案,但这些答案扩展得不够,我认为它们是在 ARC 引入之前的。
如果我有两个 NSSstring 我可以设置
string1 =string2;
或
NSString * a1=@"String";
al=@"Lead";
不会导致内存泄漏或其他问题?
编辑: View Controller 或委托(delegate)属性设置为(复制、非原子)怎么样?
Edit2:应该是 NSString *al=@"String"。我希望这不会改变它不会泄漏的想法。
最佳答案
不会,分配和重新分配字符串文字不会导致内存泄漏。您只需要在不使用 ARC 并分配使用 alloc
、retain
、copy
、mutableCopy
的内容时担心内存泄漏code> 或以 new
为前缀的方法。
NSString a1=[@"String" mutableCopy];
al=@"Lead";//This will cause a leak since you called copy above.
请参阅Advance Memory Management Rule了解详细信息。
关于ios - 在ios中NSString = NSString会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942055/