gpt4 book ai didi

objective-c - 属性应该是带有内部变量的@synthesize

转载 作者:行者123 更新时间:2023-12-04 05:24:37 25 4
gpt4 key购买 nike

我有点困惑,因为在某些教程中只是

在小时

@property (readwrite,nonatomic) NSUInteger DirectProp;


@synthesize DirectProp;

但在其他是这样的

在小时
@interface MyClass : CCNode {
NSUInteger throuVarProp;

}
@property (readwrite,nonatomic) NSUInteger ThrouVarProp;


@synthesize ThrouVarProp = throuVarProp;

哪种方式是正确的方式?

最佳答案

用一个参数:

@synthesize directProp;

合成的 getter/setter 方法的调用方式与用于存储值的实例变量相同。这可能会让人感到困惑。例如:
self.directProp = YES;

[self setDirectProp:YES];

directProp = YES;

都是有效的。

附加 = ivar ,您可以命名实例变量(约定使用前导下划线),这是一个好主意,因此您不会感到困惑:
@synthesize directProp = _directProp;


self.directProp = YES;

[self setDirectProp:YES];

_directProp = YES;

正如还提到的,对于较新的运行时,您不需要在使用前声明实例变量,这也是一个坏主意,似乎是为了促进懒惰。有一天你会后悔使用这个功能......

关于objective-c - 属性应该是带有内部变量的@synthesize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340785/

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