Редактировать 2: То, что я планировал ранее, было, вероятно, плохой идеей, и теперь я изменил свой дизайн: мой UITableViewController
имеет массив со всеми значениями моих UITextField
с, и я использую делегирование обновить значения в массиве. (Если значение в одном UITableViewCell
изменяется, я отправляю сообщение с новым значением и индексом ячейки).
Оригинальный вопрос
Я хотел бы создать подкласс UITableViewCell
. Чтобы получить доступ к моим ячейкам, я хотел бы иметь NSMutableArray
в моем UITableViewController
со всеми ячейками. Всякий раз, когда я создаю новую ячейку в - tableView:cellForRowAtIndexPath:
, я добавляю ее в массив. Однако клетки должны знать об этом массиве. Я бы объявил такое свойство для UITableViewCell
:
@property (nonatomic, assign) NSMutableArray *cellsArray;
Всякий раз, когда я создаю новую ячейку, я устанавливаю ее cellsArray
для моего массива.
Мой (возможно, простой) вопрос: верно ли, что cellsArray
будет содержать указатель на массив в UITableViewController
, и когда я добавлю материал в массив UITableViewController
, ячейки тоже узнают об этом т.е. может получить к нему доступ?
Редактировать: В UITableViewCell
с UITextField
с. Раньше я полагался на метод -cellForRowAtIndexPath:
и массив visibleCells
, однако, когда ячейки выходили из поля зрения, содержимое их UITextFields
также терялось. Затем я решил хранить ячейки в массиве. Когда пользователь нажимает сохранить, я перебираю массив и сохраняю значения. Кроме того, я хотел бы автоматически обновить свойство enabled
кнопки сохранения, в зависимости от того, содержат ли все ячейки что-то - для этого мне также нужны все ячейки.
Ячейки должны знать о других ячейках, чтобы они могли выбирать следующую ячейку при нажатии клавиши возврата / следующего на клавиатуре.
Если есть лучшие подходы к этому, я рад слышать о них!