如何编辑我的数组以便循环反映这个?

时间:2011-04-19 09:33:21

标签: iphone objective-c

我的数组的for循环当前产生的数字如:0,1,2,3,4,5,6 ....到1000。

以下是代码:

pickerArray = [[NSMutableArray alloc] initWithCapacity:700];
    for ( int i = 1 ; i <= 1000 ; i = i++)
        [pickerArray addObject:[NSString stringWithFormat:@"%i", i]]

我想要它,具有以下模式,0,2.5,5,7.5,10,6.5,15,17.5,20等。

使用以下代码显示:

float weight = [[pickerArray objectAtIndex:row] intValue];
label.text = [NSString stringWithFormat:@"%f lb", weight];

3 个答案:

答案 0 :(得分:1)

pickerArray = [[NSMutableArray alloc] initWithCapacity:700];
for ( float i = 0.0 ; i <= 1000.0 ; i = i + 2.5)
{
    //[pickerArray addObject:[NSString stringWithFormat:@"%.1f", i]]
    [pickerArray addObject:[NSNumber numberWithFloat:i];
}


float weight = [[pickerArray objectAtIndex:row] floatValue];
label.text = [NSString stringWithFormat:@"%.1f", weight];

答案 1 :(得分:0)

尝试类似的东西:

pickerArray = [[NSMutableArray alloc] initWithCapacity:1001];
for ( int i = 0 ; i <= 1000 ; ++i)
    [pickerArray addObject:[NSString stringWithFormat:@"%.1f", 2.5*i]]

答案 2 :(得分:0)

您可以在循环中执行此操作:

for ( float f = 0; f <= 1000; f = f + 2.5 )
    [pickerArray adObject:[NSString stringWithFormat:@"%.1f", f]];

或者你可以在创建字符串时将其相乘:

    [pickerArray adObject:[NSString stringWithFormat:@"%.1f", 2.5*i]];

另外,如果您立即放入1000个对象,为什么从初始容量700开始?你真的确定你想要这个数组中的所有字符串吗?

编辑:看过你的编辑,你真的确定你想要在字符串之间来回做这个看似冗余的转换吗?好吧,如果你确定:

float weight = [[pickerArray objectAtIndex:row] floatValue];