gpt4 book ai didi

objective-c - iPhone 关于属性的问题

转载 作者:行者123 更新时间:2023-12-03 16:55:49 29 4
gpt4 key购买 nike

如果你声明一个带有retain属性的属性,在将它设置为nil之前是否需要释放该属性?

@synthesize 指令有什么作用?

最佳答案

您确实需要在属性 var 中设置另一个对象或 nil 之前释放(保留的)对象,但如果您喜欢的话,这是由访问器完成的。

self.myVar = nil;

@synthesize 的作用是自动为您创建访问器方法(如果您没有定义它们)

所以,如果您将属性写为:

@property (nonatomic, retain) NSObject *property;

那么你可以认为合成访问器将等价(我说等价是因为我们不确定这是如何完成的......有关更多信息,请阅读下面的文档):

- (void) setProperty:(NSObject *)aProperty{
if(property != aProperty){
[property release];
property = [aProperty retain];
}
}

- (NSObject*) property{
return property;
}

这部分非常重要,我建议花尽可能多的时间来了解这一点。 (另请阅读复制和分配)

Apple doc on Properties

关于objective-c - iPhone 关于属性的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980172/

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