我的应用程序允许用户在表格视图中重新排序行,但我想在移动完成后reloadData
更改某些内容(在第一行添加一些文本)。
我在reloadData
方法中尝试了moveRowAtIndexPath:
,但它使应用程序挂起,因为此方法被多次调用(根据需要移动的行数)并且表视图重新加载很多次
所以,我只想知道何时完成移动行为,然后我只知道reloadData
一次。有谁知道这个?请帮我。非常感谢你!
答案 0 :(得分:1)
- (void)doReload
{
[myTable reloadData];
}
您可以使用[self performSelector:selector(doReload) withObject:nil afterDelay:0.1]
方法执行moveRowAtIndexPath
,但无法直接调用[myTable reloadData]
,因为您发现它会导致循环。基本上你需要允许表操作完成并运行循环来调用你的方法,然后重新加载你的表。这有点像黑客,但效果很好。通常你现在不需要reloadData
,但你可能会尝试做一些与众不同的事情。
答案 1 :(得分:0)
-(int)table:(UITable*)table movedRow: (int)row toRow: (int)dest