让我们有两个可变数组,让我们有以下代码:
- (void)viewDidLoad
{
NSMutableArray *A = [[NSMutableArray alloc] init];
NSMutableArray *B = [[NSMutableArray alloc] init];
// fill up A
// B remains empty
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// ...
if (...)
{
// fill up the cell with datas of an object from A
}
else
{
// fill up the cell with datas of an object from B
}
//...
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (...)
{
// remove an object from A and put it in B
}
else
{
// remove an object from B and put in A
}
[tableView reloadData];
}
如果 [tableView reloadData] 被注释掉(// [tableView reloadData]),那么在“点击”之后,表格不会像预期的那样失效。如果当前单元格滚动并再次在屏幕中滚动,则调用“cellForRowAtIndexPath”并根据应该从哪个数组获取其内容来“绘制”单元格。但是如果 [tableView reloadData] 处于活动状态,而“cellForRowAtIndexPath”根本没有被调用(!)并且单元格从屏幕上删除!
反应:什么?
可以帮助我任何人如何动态地使 tableview 无效(而不是通过滚动单元格和:))!
提前致谢!