ios - 在ios中NSString = NSString会导致内存泄漏吗?

标签 ios memory-leaks nsstring automatic-ref-counting nscopying

我已经看到了一些答案,但这些答案扩展得不够,我认为它们是在 ARC 引入之前的。

如果我有两个 NSSstring 我可以设置

string1 =string2;

NSString * a1=@"String";
al=@"Lead";

不会导致内存泄漏或其他问题?

编辑: View Controller 或委托(delegate)属性设置为(复制、非原子)怎么样?

Edit2:应该是 NSString *al=@"String"。我希望这不会改变它不会泄漏的想法。

最佳答案

不会,分配和重新分配字符串文字不会导致内存泄漏。您只需要在不使用 ARC 并分配使用 allocretaincopymutableCopy 的内容时担心内存泄漏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/

相关文章:

android - 在 IOS 和 Android 上 react native fbsdk 用户更改问题

ios - WebRTC iOS : Filtering camera stream from RTCCameraVideoCapturer. 从 RTCFrame 到 CVPixelBuffer 的转换

c# - 处理内存泄漏的非托管 dll

ios - ARC下iOS内存管理方法

ios - 使用多个参数调用 NSString

iphone - 发行时NSString崩溃

objective-c - NSConstantString 对象的唯一性

objective-c - iOS UI 自定义按钮图片

ios - 使用 AVQueuePlayer 播放器项目的无缝和非卡住播放

android - 在循环中添加自定义 View 会导致内存不足错误