我遇到了 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/