我有一个带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 - 但是我的表没有显示这个新文本。我错过了什么?
答案 0 :(得分:1)
你不应该直接调用cellForRow。
当表视图呈现自身时,它调用cellForRow方法以创建应该可见的单元格。
我认为您应该更新表视图数据源,而不是尝试直接更新单元格,然后重新加载表视图([tableView reloadData];
)。