如何在UITableView的单元格中引用文本字段的文本

时间:2013-12-22 10:16:36

标签: ios objective-c

我对如何在UITableView中引用文本字段的文本感到很困惑。我在tableview中有5行没有文本加载,用户输入文本然后保存为设置。我试图让数组_textBox1Contents和_textBox2Contents包含5 textBox1和textBox2文本字段中的用户输入文本。如何引用特定单元格的文本字段,以便使用NSUserDefaults将它们发送到应用程序的其他部分?

提前致谢。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"TableCell";
    TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    // Configure the cell...

    long row = [indexPath row];

    cell.image.image = [UIImage imageNamed:_image[row]];
    cell.titleLabel.text = _Title[row];
    cell.textbox1.placeholder = _textBox1[row];
    cell.textbox2.placeholder = _textBox2[row];
    cell.colon.text = _colon[row];

    cell.textbox1.delegate = self;
    cell.textbox2.delegate = self;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    _textBox1Contents = @[@"",
                          @"",
                          @"",
                          @"",
                          @"",];

    _textBox2Contents = @[@"",
                          @"",
                          @"",
                          @"",
                          @"",];

    return cell;
}

2 个答案:

答案 0 :(得分:1)

在你的UITextField上给一个标签(比方说100)。然后,在cellForRowAtIndexPath上执行

UITextField *textField = (UITextField *)[cell viewWithTag:100];
textField.text = [NSString stringWithFormat:@"%d",indexPath.row];

答案 1 :(得分:1)

您可以添加“保存”按钮,并将相应的回调实现为:

- (IBAction)saveClicked:(id)sender {
    for (int i = 0; i < _tableView.numberOfSections; i++) {
        for (int j = 0; j < [_tableView numberOfRowsInSection:i]; j++) {
            NSIndexPath *currentIndexPath = [NSIndexPath indexPathForRow:j inSection:i];
            TableCell *currentCell = (TableCell *)[_tableView cellForRowAtIndexPath:currentIndexPath];
            // Get text field and store.
        }
    }