我正在从CodeSchool学习目标C,有一部分学习OOP,我不明白为什么它不起作用,但修复起来似乎很简单。
代码:
- (void) decreaseBatteryLife:(NSNumber *)decreaseBy
{
self.batteryLife = @([self.batteryLife intValue] - decreaseBy);
}
指向reduceBy之前的减号的错误:
^invalid operands to binary expression ('int' and 'NSNumber *')
“ decreaseBy
”是NSNumber对象,而另一个值是“ int
”。有所不同(第一个是Objective C对象,另一个是原始C类型)。
您需要获取数字的原始“ intValue
” decreaseBy
。
像这样:
self.batteryLife = @([self.batteryLife intValue] - [decreaseBy intValue]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句