gpt4 book ai didi

iphone - 直接使用NSString

转载 作者:行者123 更新时间:2023-12-03 20:20:06 26 4
gpt4 key购买 nike

我发现我通常直接使用 NSString,例如:

 self.text = @"word";
label.text = @"word";
function(@"word");

我认为直接使用NSString是错误的方式,因为@“word”在使用后其retainCount将为2。是这样吗?

@""的保留计数到底是多少?它是一个autorelease对象还是retain为1?

此外,我遇到了一些内存泄漏,如下图所示:

enter image description here

我怀疑这与直接使用NSString有关。

最佳答案

本质上,NSString 文字的保留计数是无限的。这些对象的内存由编译器在编译时保留,并且在应用程序运行期间永远不会释放,无论您尝试保留或释放它们的频率如何。

这是另一个很好的例子,说明为什么关心保留计数是错误的。您应该只关心黄金内存管理规则:如果您拥有一个对象的所有权(使用 allocnewcopy保留),您必须稍后释放或自动释放它。否则,你就不会。

关于iphone - 直接使用NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com