objective-c - NSString的内存问题

标签 objective-c cocoa

我遇到了 NSString 问题。

NSString* str = [[NSString alloc] initWithString:@"Hello world"];

上面的代码中,我需要释放对象str吗?根据规则,这个对象是用alloc创建的,所以应该用release方法显式释放它。但是,当我没有显式释放它时,我在 Instruments 中找不到任何内存泄漏。 当 NSString 替换为 NSNumber 时,就会发生内存泄漏。

谁能给我一些建议吗?谢谢。

最佳答案

是的,您确实需要释放它。 Instruments、Leaks、ObjectAlloc 等工具并非绝对可靠;另外,因为您使用常量字符串来创建实例,所以完全有可能不会发生泄漏。但尽管如此,如果您+alloc一个对象,您还应该-release它以确保该对象不会泄漏,因此您确实需要释放该对象。

我常用的 Cocoa 内存管理文章链接集:http://iamleeg.blogspot.com/2008/12/cocoa-memory-management.html

关于objective-c - NSString的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/613868/

相关文章:

iphone - 如何确定 cocoa 中的字符串编码?

ios - SWRevealViewController - RightViewController

macos - 我可以在 OSX 上使用两个证书进行协同设计吗?

ios - Tableview 按钮获取 index.row

iphone - 使用套接字流将图像或视频发送到服务器

ios - 外部附件 : Receive Data using USB cable

objective-c - 在 Objective C 中创建小型实用程序类的推荐方法

swift - Google map 显示 cocoa pod 错误

objective-c - 如何使用 Core Graphics - Mac 绘制三角形?

cocoa - NSScrollview 自动布局问题