没有在TableView行中输入任何值

时间:2010-07-05 20:26:36

标签: iphone xcode

我有一个带UITextField和Tableview的基本视图。我可以在TextView中输入文本,并通过IBOutlet和IBAction捕获值。

我的IBAction是setMyNote,我在其中调用了cellForRow ...方法。

在我的cellForRow ..方法中,我有这个代码段

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

NSString *enNote = [[NSString alloc] initWithString:enteredNote.text];

NSInteger nRow = [indexPath row];
switch (nRow) {
    case 1:
        cell.textLabel.text = enNote;
        break;
    default:
        break;
}
[enNote release];
return cell;

}

当我运行我的调试器时,我可以看到enNote有我在textView上输入的新文本,它似乎也被分配给我的cell.textLabel.text - 但是我的表没有显示这个新文本。我错过了什么?

1 个答案:

答案 0 :(得分:1)

你不应该直接调用cellForRow。

当表视图呈现自身时,它调用cellForRow方法以创建应该可见的单元格。

我认为您应该更新表视图数据源,而不是尝试直接更新单元格,然后重新加载表视图([tableView reloadData];)。