我在嘗試調用某個方法時遇到錯誤。Objective C - 錯誤:線程1:EXC_BAD_ACCESS代碼= 2
的方法
- (void)setSpeed:(GLKVector2)newSpeed{ //Error message (see title) points to here
self.speed = GLKVector2Make(newSpeed.x, newSpeed.y);
}
呼叫
[self setSpeed:GLKVector2Make(0, 0)];
有什麼想法?
有一個無限循環正在進行。當你調用'self.speed = ...'時,它會調用setter方法 - (void)setSpeed:(GLKVector2)newSpeed;',然後調用'self.speed = ...'。用'_speed = ...'代替'self.speed = ...'將修正錯誤。 – msgambel
我巧合地選擇了一個已經存在的方法名稱嗎? – user2577959
是的。屬性('self.speed')自動生成2個方法:A ** Getter **(' - (GLKVector2)speed;')和** Setter **(' - (void)setSpeed:(GLKVector2)速度;')。你不小心覆蓋了** Setter **方法。 – msgambel