-1

我有三个字段txtValue1txtValue2并且txtValue3CustomTableCell.
现在我想将txtValue1UITextfield)和txtValue2UILabeltxtValue3 )的值相乘并在(UILabel )中显示结果。
我已经尝试过cellforRowAtIndexPath使用 using的方法Double,但它返回时为空。
我该如何解决?谢谢你的帮助。

//更新//

在这里,我从 web 服务获取 txtValue1 和 txtValue2。但我想通过计算它们在 txtVale3 中显示结果值。我正在使用 customTableviewcell。例如,我想要 total.txt 通过将数量.txt 和 price.txt 相乘。希望大家理解。

4

3 回答 3

2

在一个单元格中分别tag添加说UITextField97 and UILabel say 98 and 99

现在使用delegate方法UITextField来做multiply operation

 - (void)textFieldDidEndEditing:(UITextField *)textField 
{
  UITableView *cell = (UITableView *)[tbView cellForRowAtIndexPath:[tbView indexPathForRowAtPoint:textField.superview.frame.origin]];
  if (cell) {
     UITextField *txtField1 = (UITextField *)(cell viewWithTag:97);
     UILabel *lbl1 = (UILabel *)(cell viewWithTag:98);
     UILabel *lbl2 = (UILabel *)(cell viewWithTag:99);

    if(txtField1)
    {
       int value1 = [txtField1.text intValue];
       int value2 = [lbl1.text intValue];
       int value3 = value1 * value2
       lbl2.text = [NSString stringWithFormat:@"%d",value3];
    }
  }    
}

编辑:根据问题编辑

于 2013-07-24T06:02:08.743 回答
1

当您获得 webservice 的结果时,像这样应用,

text1.text= text1value
text2.text=text2value
text3.text =[NSString stringWithFormat:@"%d",([text1value intValue] * [text2value intValue])];

并重新加载表格。

于 2013-07-24T05:59:11.537 回答
0

当你得到第一个和第二个值时,(正如你展示的tableView那样,我假设它们不止一个),准备一个这样的数组:

- (NSArray *) getArrayToLoadDataInTableView : (NSArray *) valueFromWebService {
    //load value from web service in `valueFromWebService` array in form of dictionary like MENTIONED BELOW or however convinient to you
    /*NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                @"2", @"firstOprand",
                                @"2", @"secondOprand", nil];*/

    NSMutableArray *array = [NSMutableArray array];
    for (NSDictionary *dictionary in valueFromWebService) {
        NSMutableDictionary *finalDict = [dictionary mutableCopy];
        int result = [[finalDict valueForKey:@"firstOprand"] intValue] * [[finalDict valueForKey:@"secondOprand"] intValue];
        [finalDict setObject:[[NSNumber numberWithInt:result] stringValue] forKey:@"result"];
        [array addObject:finalDict];
    }
    return [NSArray arrayWithArray:array];
}

现在您可以tableView从此方法返回的数组中加载数据。

于 2013-07-24T06:15:43.833 回答