gpt4 book ai didi

objective-c - 保留属性(property)何时释放?

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

我有这样的属性(property):

@property(nonatomic,retain) NSString *porpertyList;

@synthesize porpertyList = _porpertyList;

- (void)dealloc
{
[_porpertyList release];
}

如果我这样做 _porpertyList = @"";在我的应用程序中。属性(property)被释放?

//已编辑现在我不明白什么时候应该使用这个@synthesize porpertyList = _porpertyList; ?

最佳答案

取决于您使用的内存模型。如果您使用的是 ARC,则无需编写 dealloc 来释放保留的属性,这已为您完成。如果你不使用 ARC,你想释放保留属性的变量:

- (void) dealloc {
[_propertyList release];
[super dealloc];
}

这里需要注意两点:

  1. 您想在这里释放变量,而不是将属性设置为 nil。这避免了使用 setter 时可能发生的副作用(自定义行为、kvo 通知)。
  2. 不要忘记调用[super dealloc];

关于objective-c - 保留属性(property)何时释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9003797/

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