У меня чертовски много времени с этим. Используя раскадровку, я создал контроллер табличного представления со статической ячейкой, которая содержит UITextField для пользовательского ввода. Когда пользователь закончит, я хочу получить содержимое текстового поля.
Вот что я сделал:
- Создан подкласс
UITableViewCell
с именем SingleLineFieldTableViewCell
- Добавил
IBOutlet UITextField *textField;
к подклассу, объявил его как свойство (неатомное, сохраняющее) и синтезировал его.
Добавлен IBOutlet SingleLineFieldTableViewCell *cellNamed;
к контроллеру табличного представления-владельца, объявлен как свойство (неатомное, сохранено) и синтезирован.
В раскадровке у меня есть контроллер табличного представления со статическими ячейками. Одна из ячеек - это пользовательская ячейка, которая объявлена как SingleLineFieldTableViewCell
и имеет UITextField
. Ему также присваивается идентификатор ячейки.
- Я прикрепил ссылки на выходы ячейки табличного представления и текстовое поле к соответствующим IBOutlets, перечисленным выше.
Когда я бегу, dequeueReusableCellWithIdentifier
возвращает nil
. Я думал, что с Xcode 4 и раскадровками, dequeueReusableCellWithIdentifier
, согласно Преобразование в раскадровки Примечания к выпуску , «Метод dequeueReusableCellWithIdentifier:
гарантированно возвращает ячейку (при условии, что вы определили ячейку с заданным идентификатор)".
Странная часть в том, что когда я запускаю в Simulatior, таблица выглядит так, как ожидалось (раздел, размер ячейки и т. Д.), За исключением того, что я не могу редактировать пользовательскую ячейку.
Я в растерянности. Любая помощь или идеи?
- Джон