从单元格中的TextField获取数据

时间:2013-02-24 16:01:19

标签: ios uitableview textfield

我创建了一个带有TabelViewCell的nib,它包含一个标签和一个TextField,然后我只用两行在TableView中加载这个单元格。我想捕获一个项目的名称和它的价格,所以我更新了cellForRowAtIndexPath方法中的每个标签,因为我可以访问indexPath.row值。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleCellIdentifier = @"AddBudgetItemCell";

    SCAddBudgetItemCell *cell = (SCAddBudgetItemCell *)[tableView dequeueReusableCellWithIdentifier:simpleCellIdentifier];

    if(cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:simpleCellIdentifier owner:self options:nil];

        cell = [nib objectAtIndex:0];
    }

    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.dataTextField.delegate = self;

    switch (indexPath.row)
    {
        case 0:
            cell.titleLabel.text = @"Item";
            break;

        case 1:
            cell.titleLabel.text = @"Price ¥";
            break;

        default:
            break;
    }

    return cell;
}

但是我不知道如何从TextField中检索数据,因为我无法访问我创建的变量“cell”和IndexPath.row值。

1 个答案:

答案 0 :(得分:0)

据我了解,您有两种选择。如果你的SCAddBudgetItemCell里面有一个包含textfield字符串的属性,那么你可以通过像cell.yourtextfield.text这样的东西从你的viewcontroller访问它(其中yourtexfield是你的SCAddBudgetItemCell里面的UITextView。

另一个选项是让视图控制器响应UITextFieldDelegate,并在用户通过实现委托方法对其进行编辑时存储字符串

- (void)textFieldDidBeginEditing:(UITextField *)textField{
    //Whenever people start editing your textfield
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
     //
return YES;
}
-(void)textFieldDidEndEditing:(UITextField *)textField
{
    //This is obvious. Whenever they end
}