NSMutableArray *numberOfRides = [NSMutableArray array];
for (NSInteger i=0; i<30; i++)
[numberOfRides addObject:[NSNumber numberWithInteger:i]];
NSMutableArray*targetDollarAdd = numberOfRides;
for (NSInteger e=0; e<30; e++)
[targetDollarAdd replaceObjectAtIndex:e withObject:[NSNumber numberWithDouble:e] * [NSNumber numberWithDouble:2.75];
我对编程很陌生。我试图将我的数组中的所有内容乘以2.75,但我不断收到错误。我尝试过搜索,但似乎一切都在为我提升。
答案 0 :(得分:0)
您无法乘以NSNumbers。他们不是数字!它们是包装数字的对象。
但你不能在NSArray中保留数字。他们不是对象!这就是NSNumber的用途:将一个数字包装在一个对象中,这样你就可以将它保存在NSArray中。哦,具有讽刺意味!
因此,要对NSNumber进行算术运算,解包NSNumber(获取整数或双精度或其中的任何内容 - 使用integerValue
或doubleValue
或其他任何适当的算法),执行算术运算,然后将结果作为NSNumber(使用initWithDouble:
或其他)包装回来并将其粘贴回数组中。