如何在同一个循环中计算并从两个不同数组中选择值?
类似的东西
例如:
for(UITextField *field in textFieldArray && textFieldArray2)
我必须减去该值,我有2个数组,我想从不同的数组中减去两个文本字段的值,但是相同的索引......
我的代码是
int result = 0;
for(UITextField *field in textFieldArray) // will iterate all UITextField which was added
{
result += [field.text intValue]; //or floatValue
}
NSLog(@"the result is %d", result); //here you have sum of all the text fields' text
我想减去这个,但两个文本字段都在不同的数组上,但具有相同的索引......
int y12 = ([Txt_New_Actual.text intValue]);
float c116 = y12-([Txt_New_Estimated.text floatValue]);
Txt_New_ONU.text = [[NSString alloc] initWithFormat:@"%.2f",c116];
答案 0 :(得分:0)
使用enumerateWithBlock或者使用在循环中递增的变量索引。使用objectAtIndex访问另一个数组:。
答案 1 :(得分:0)
获取快速枚举循环中当前对象的索引,然后使用indexOfObject:
获取索引,并在第二个数组上使用objectAtIndex:
。
这样的事情:
int result = 0;
for(UITextField *field in textFieldArray)
{
int indexOfObject = [textFieldArray indexOfObject:field];
UITextField *secondValue = (UITextField *)[textFieldArray objectAtIndex:indexOfObject];
result += [secondValue.text intValue];
}
NSLog(@"the result is %d", result);
如果第二个数组的返回值有效,你仍然应该对该代码进行某种检查。
答案 2 :(得分:0)
另一种解决方案是使用for子句而不是foreach进行循环,例如:
int result = 0;
int count = [textFieldArray count];
for(int i=0; i<count; i++)
{
UITextField field = [textFieldArray objectAtIndex:i];
int y12 = ([field.text intValue]);
field = [theOtherArray objectAtIndex:i];
float c116 = y12-([field.text floatValue]);
}