如何增加数组中的数字以填充UIPickerView

时间:2012-08-01 01:14:57

标签: ios xcode nsarray uipickerview increment

我有一个UIPickerView,我用数组填充。它有两列,我需要第一列从50-500。第二列从0.01到1.重点是用户选择自己的体重。为了做50-500我有这个,

-(void)populateWeightPickerArray{
weightPickerArray = [[NSMutableArray alloc] init];
for (int weight = 50; weight <=500; weight++) {
    NSString *weightString = [NSString stringWithFormat:@"%d%",weight];
    [weightPickerArray addObject:weightString];
}
}  

我尝试用十进制来做这个,但是当我使用++时,它会按整数上升,最终得到1.01,2.01,3.01等等。这就是我的代码。

-(void)populateWeightPickerArray2{
weightPickerArray2 = [[NSMutableArray alloc] init];
for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal++) {
    NSString *weightDecimalString = [NSString stringWithFormat:@"%0.2f",weightDecimal];
    [weightPickerArray2 addObject:weightDecimalString];
}   
}

(我知道我说我只需要它去1而不是10,但我放了10,因为一开始它只显示1.01,所以我放10来测试输出,直到我能把它弄好。)

所以我需要以某种方式递增它以使其从.01变为1(0.02,0.03,0.04等)。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal = weightDecimal + 0.01)

或更简洁:

for (float weightDecimal = .01; weightDecimal <= 10; weightDecimal += 0.01)

在目标C中:x += yx = x + y的简写。

虽然您经常看到forsomething++something--,但您可以使用任何表达式。