Извлечение невидимого uitableviewcell - PullRequest
1 голос
/ 10 июня 2011

У меня есть таблица с каждой ячейкой, загруженной из XIB. Это в формате UILabel некоторое пространство и UITextField. При нажатии кнопки где-нибудь в представлении мне нужно действие для извлечения всех значений текстового поля в UITableView с метками в словаре. Проблема в том, что когда я выделяю ячейку и извлекаю значения оттуда, используя indexPath, код падает точно в indexPath ячейки, которая невидима (за пределами экрана).

Буду признателен за любые хорошие идеи о том, как получить те клетки, которые не видны на экране.

Спасибо!

1 Ответ

3 голосов
/ 10 июня 2011

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

NSDictionary может быть вашим лучшим выбором:

  1. Установите тег для UITextField каждой ячейки на основе значения indexPath.row во время создания ячейки.
  2. Установите делегат для каждого UITextField для вашего контроллера представления.
  3. В методе делегата textFieldDidEndEditing обновите словарь следующим образом: [dictionary setObject:textField.text forKey:[NSNumber numberWithInt:textField.tag]]

И теперь вы можете получить доступ к массиву значений textField с помощью [dictionary allValues].

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