Как прочитать / сохранить значения всего текстового поля (текстовое поле находится в ячейке uitableview)? - PullRequest
0 голосов
/ 13 февраля 2011

У меня есть динамически создаваемая таблица каждый раз с текстовым полем в ячейке таблицы. Я могу читать по значению за раз из текстового поля в моем подклассе tableviewcell с этим:

-  (void)textFieldDidEndEditing:(UITextField *)textField {

NSLog(@"Text :%@ ",textField.text);
 }

Но я хочу сохранить все значения, введенные во все текстовые поля ... как мне подходить? Я знаю, что могу использовать для цикла, но я не могу получить условия (как долго он должен работать) для цикла

Ответы [ 2 ]

1 голос
/ 13 февраля 2011

Никогда не храните данные в представлении. И в этом случае UITableViewCell - это ваш взгляд. Когда вы перемещаете ячейку за пределы экрана, она (надеюсь) используется повторно, и текст исчезнет.

сохранить данные обратно в модель данных в textFieldDidEndEditing:

- (void)textFieldDidEndEditing:(UITextField *)textField {
    //                                          | cell.contentView  |
    UITableViewCell *cell = (UITableViewCell *)[[textField superView] superView];
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];
    MyObject *mydataObject = [self myObjectAtIndexPath:indexPath];
    mydataObject.text = textField.text;
}

нет способа перебрать все (я знаю о visibleCells) ячейки в UITableView. Потому что для элемента 10 нет ячейки, если на экране только ячейки с 1 по 5. И если вы прокрутили до ячейки 10 ячейка 1, то ее больше нет.

0 голосов
/ 13 февраля 2011

Один из способов сделать это - пометить каждое текстовое поле индексом ячейки, в которой оно содержится.

Вы можете создать NSMutableArray со строками для каждой ячейки, а в функции textFieldDidEndEditing потянутьтег из текстового поля и поместите новую строку в соответствующий индекс массива.

Обязательно очистите текстовые поля и сбросьте теги при повторном использовании ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...