<分区>
Possible Duplicate:
How does an underscore in front of a variable in a cocoa objective-c class work?
所以我发现在合成属性时必须使用下划线,这对我来说一点意义都没有。
那么,让我们开始吧。 在我们的 .h 文件中,我们写了这一行:
@property (nonatomic) double speed;
在我们的 .m 文件中,我们这样做:
@synthesize speed = _speed;
为什么?据我所知,property 生成一个实例变量并为其创建 setter 和 getter。 但是线到底是什么东西
@synthesize speed = _speed
做吗? 正如常识告诉我的那样,我们将 _speed 中的值分配给速度。好的。 我们在哪里声明_speed?为什么编译器不给我们一个错误?这是什么意思?为什么要这么混淆的代码?
我的问题:
如果我这样做会怎样
@synthesize speed;
没有 _speed,我会出错或出现一些错误吗? 这个语法之后的原因是什么?制作时他们在想什么? _speed 从何而来?它是什么?它是指针还是实际值?这是怎么回事?