所以我发现在合成属性时必须使用下划线,这对我来说毫无意义。
那么,让我们开始吧。在我们的 .h 文件中,我们写下这一行:
@property (nonatomic) double speed;
在我们的 .m 文件中,我们这样做:
@synthesize speed = _speed;
为什么?据我所知,属性会创建一个实例变量并为其创建 setter 和 getter。但到底是什么线
@synthesize speed = _speed
做?正如常识告诉我的那样,我们将 _speed 中的值分配给速度。好的。我们在哪里声明了_speed?为什么编译器不给我们一个错误?它应该是什么意思?为什么会有这样一个混淆的代码?
我的问题在这里:
如果我这样做会发生什么
@synthesize speed;
没有_speed,我会得到错误或一些错误吗?这个语法之后的原因是什么?他们制作的时候在想什么?_speed 来自哪里?它是什么?它是指针还是实数值?到底是怎么回事?