Получить значения формы текста Поля в пользовательской ячейке UITableView

Я создал пользовательский UITableViewCell, ячейка имеет несколько текстовых полей, теперь я хочу получить доступ к строкам или данным в этих UITextFields. Я знаю, что могу получить ячейку на didSelectRowAtIndexPath, но мне нужно получить текст по методу "Сохранить".

Ответ 1

Предположим, что у вас есть четыре текстовых поля с тегами 100 и т.д. до 104. Вы проверите счетчик, который показывает, сколько ячеек у вас есть в таблице.

   

for (int i=0; iLessThanCounter; i++) {
            
     NSIndexPath *indexPath = [NSIndexPath indexPathForRow: i inSection: 0];
                
     UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath];
                
     for (UIView *view in  cell.contentView.subviews){                
                    
           if ([view isKindOfClass:[UITextField class]]){
                        
                  UITextField* txtField = (UITextField *)view;
                        
                  if (txtField.tag == 100) {
                         NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
                  }
                  if (txtField.tag == 101) {
                        NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
                  }
                  if (txtField.tag == 102) {
                        NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
                  }
                  if (txtField.tag == 103) {
                       NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);
                  }
                  if (txtField.tag == 104) {
                       NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text);

                  } // End of isKindofClass 
              } // End of Cell Sub View
         }// Counter Loop
    }

Ответ 2

Вы можете просто использовать viewWithTag, чтобы получить нужные вам виды. Предположим, у вас есть одно изображение с тегом 100 и одно текстовое представление с тегом 200.

UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath];

UIImageView *getImageView = (UIImageView*)[cell.contentView viewWithTag:100];
UITextField *getTextView = (UITextField*)[cell.contentView viewWithTag:200];

Ответ 3

вам нужно создать экземпляр для каждого текстового поля в файле заголовка. Посмотрите на эту демонстрационную демонстрацию

http://windrealm.org/tutorials/uitableview_uitextfield_form.php

Вы можете получить доступ к тексту текстового свойства для получения текстового значения для определенного текстового поля