2013-07-24 3 views
-1

У меня есть три поля txtValue1, txtValue2 и txtValue3 в CustomTableCell.
Теперь я хочу, чтобы умножить значение txtValue1 (UITextField) и txtValue2 (UILabel) и результат отображения в txtValue3 (UILabel).
Я пробовал метод в cellforRowAtIndexPath с использованием Double, но он возвращается с пустым.
Как я могу это исправить? Спасибо за любую помощь.Расчетная величина в CustomTableView

// ОБНОВЛЕНО //

Здесь я получаю txtValue1 и txtValue2 от веб-сервиса. Но я хочу показать значение результата в txtVale3, вычислив их. Я использую customTableviewcell. Например, я хочу total.txt путем умножения quantity.txt и price.txt. Надеюсь, вы все понимаете.

+2

Пожалуйста, внесите свой код. – trojanfoe

+0

, пожалуйста, поделитесь некоторым кодом, как вы умножаетесь и показываете, используя ваши метки и текстовые поля. – Suryakant

+0

Пожалуйста, поделитесь своим кодом с нами. Нам будет легко помочь вам ... – booleanBoy

ответ

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]; 
    } 
    }  
} 

EDIT: отредактирован по любому вопросу

+1

он использует одно текстовое поле и две метки, поэтому отрегулируйте свой ответ – iEinstein

1

применяются как это, когда вы получите результат WebService,

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

и сделать таблицу перезарядку.

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 из этого массива возврата из этого метода.

Смежные вопросы