Выпускаемые пользовательские объекты UITableViewCell - прототип ячеек в Xcode 4.2 - PullRequest
0 голосов
/ 28 января 2012

У меня есть пользовательский подкласс UITableViewCell и контроллер табличного представления, в который я хочу вставить текстовые поля.

Что я сделал, так это установил трехмерный массив для хранения разделов, строк и затем втретье измерение Я поместил заполнитель текста, который я хотел бы отобразить -

В пользовательском подклассе UITableViewCell я определил текстовое поле как слабое свойство (я думаю, что это правильно ...?)

@property (weak) IBOutlet UITextField *plainTextField;

Затем я добавляю это текстовое поле в массив моей модели данных в

cellForRowAtIndexPath:

, однако, когда я пытаюсь получить доступ к текстовому полю из моего массива (в частности, plainTextField.text), я получаю

''

У меня такое ощущение, что что-то где-то выпускается, и я не могу понять, где (фактическое текстовое поле не равно нулю)

Полагаю, мой вопрос действительно дизайнерский - каквы получаете UITextFields в UITableViewController и затем получаете текст из них позже ....?

Спасибо!

1 Ответ

0 голосов
/ 28 января 2012

Я «исправил» мою проблему - она ​​действительно основана на том факте, что у вас не может быть другого контента в UITableViewCells, как только что-то меняется, вы должны загрузить его в cellForRowAtIndexPath. (Примечание в методе UITableViewCell prepareForReuse)

Я зарезервировал место в моей модели данных для UITextField, а затем, когда путь cellForRowAtIndex достигнет ячейки, он запросит модель данных, затем создаст экземпляр UITextField и добавит его в cell.contentView или (вот хитрая часть) перебрать [cell.contentview subviews], чтобы найти любые поля UITextFields и вызвать removeFromSuperview

...