gpt4 book ai didi

objective-c - 动态创建 iOS UILabel——我需要发布吗?

转载 作者:行者123 更新时间:2023-11-28 18:39:23 24 4
gpt4 key购买 nike

如果我以编程方式创建一个 UILabel,之后是否需要释放它?例如,

UILabel *label =  [[UILabel alloc] initWithFrame:...];
[self.view addSubView:label];
[label release]; // <-- is this needed?

我找到了 this thread其中包括发布行,但我知道这在较新的 iOS 版本中的工作方式有所不同。

感谢阅读。

最佳答案

是的,除非您使用 ARC,否则您需要发布它。
在这种情况下,当您alloc 时,您的保留计数为 1。
当您执行 addSubView 时, View 将保留 您的标签:保留计数为 2。
因此,此时您可以自由地制作 release 来平衡您的 alloc 保留计数现在为 1。
但是那个 1 由 self.view 拥有,当它不再需要它时它会调用 release。
当发生这种情况时,您的标签的保留计数将下降到 0,并且它将被释放并且它的内存将是免费的。

关于objective-c - 动态创建 iOS UILabel——我需要发布吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319180/

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