3

尝试调用方法时出现错误。

方法

- (void)setSpeed:(GLKVector2)newSpeed{  //Error message (see title) points to here
    self.speed = GLKVector2Make(newSpeed.x, newSpeed.y);
}

通话

[self setSpeed:GLKVector2Make(0, 0)];

有什么想法吗?

4

2 回答 2

10

试着写

_speed = GLKVector2Make(newSpeed.x, newSpeed.y);

或者

speed = GLKVector2Make(newSpeed.x, newSpeed.y);

代替

self.speed = GLKVector2Make(newSpeed.x, newSpeed.y);
于 2013-07-13T02:22:26.407 回答
4

self.speed=speed使用为其选择的任何访问器设置属性。名为“speed”的属性的设置器的默认名称将是setSpeed:. 这是您正在使用的方法,它只是一遍又一遍地调用自己并且永不停止。您想直接设置实例变量(如果您只有一个@property声明并且没有明确的@synthesize,这将是_speed)。

于 2013-07-13T07:38:07.513 回答