gpt4 book ai didi

iphone - [[CAShapeLayer alloc] init] 和 [CAShapeLayer layer] 的区别

转载 作者:行者123 更新时间:2023-11-28 19:14:09 26 4
gpt4 key购买 nike

我注意到大多数人在初始化 CAShapeLayer 时使用:

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

而不是使用初始化器:

CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];

我想知道使用其中任何一种有什么特别的区别,或者通常哪一种更好?

最佳答案

第一个返回一个自动释放的对象。由于它是自动发布的,因此您不是它的所有者。当自动释放池(它所在的)被释放时,该对象将自动为您释放。

第二个返回一个保留计数为 +1 的对象。您是该对象的所有者,因此有责任释放它。但是 - 使用 ARC,您可能不需要像我们那样调用 release

相关链接:

  1. > Objective C Method Families
  2. > Basic Memory Management Rules

关于iphone - [[CAShapeLayer alloc] init] 和 [CAShapeLayer layer] 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13323087/

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