Вы должны хранить ссылку на каждое текстовое поле при его создании, поэтому в:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
Метод, вы бы добавили эту строку:
[myTextFieldArray addObject: cell.textField];
Предполагается, что textField является свойством для пользовательской ячейки табуляции.
Вы также можете установить текст в текстовом поле сразу после метода if (cell == nil).
Методы делегата просто позволяют вам знать, когда печатается текст и т. Д.
EDIT:
Учитывая то, что вы добавили, я согласен с Сидом и CStreel. Создайте теги для каждого значения:
#define kTemperatureTag 0
#define kPulseTag 1
// etc.
В качестве альтернативы CStreel я бы назначал / извлекал информацию, соответствующую строке indexPath, и не беспокоился о назначении тегов, потому что они будут одинаковыми, если вы начнете свои теги с нуля.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// setup / retrieve cell
NSInteger index = [indexPath row];
switch(index)
{
case kTemperatureTag:
cell.textField.text = [self.childAppointmentDictionary objectForKey:@"temperature"];
break;
// case ...
}
// ..
}
И
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSInteger index = [indexPath row];
switch(index){
case kTemperatureTag:
[self.childAppointmentDictionary addObject:cell.textField.text forKey:@"temperature"];