2013-07-11 1 views
0

У меня есть таблица в одном из моих представлений, я хочу использовать таблицу, чтобы позволить пользователю вводить данные. Для этого я создал пользовательский UITableViewCell, который работал отлично.Как я могу получить пользовательский UITableViewCell из TableView с помощью cellForRowAtIndexPath?

Моя проблема возникла при попытке получить текст из каждой ячейки. Я просмотрел всю документацию и не могу найти решение. Любая помощь приветствуется!

Код этого метода:

Subject *subject = [self.arrayOfSubjects objectAtIndex:i]; 

    AddSubjectDetailsCell *cell; 
    NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:i]; 
    cell = [tableView cellForRowAtIndexPath:indexPath]; 

    subject.title = cell.subjectTitleField.text; 
    subject.room = cell.subjectRoomField.text; 
    subject.teacher = cell.subjectTeacherField.text; 

Кто-нибудь есть способ преобразования регулярной ячейки в обычае той или иной способ извлечения текста из текстового поля?

Спасибо!

+0

как делает ваши пользовательские ячейки выглядеть? он распространяется от uitableviewcell или вы просто используете uitableviewcell и ставите в него пользовательский вид? – evanwong

ответ

1

Вы уже получили экземпляр AddSubjectDetailsCell назад, он просто возвращается вам в качестве родительского типа UITableViewCell, потому что это все UITableView знает. Все, что вы должны сделать, это привести его к него типу, как это:

AddSubjectDetailsCell *cell; 
NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:i]; 
cell = (AddSubjectDetailsCell *)[tableView cellForRowAtIndexPath:indexPath]; 
0

@ ответ Тимоти может быть решение, но почему бы вам не связывать объекты модели для ячеек пользовательских ячеек на конкретизации?

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

Я бы определенно добавил слабую ссылку на соответствующие Subject для каждой ячейки, а затем обновил ее по действиям сотовых пользователей по мере их поступления.

Некоторого вида дизайна, как это, даже если это не инкапсулируются: http://eppz.eu/blog/custom-uitableview-cell/