如何知道何时移动行

时间:2010-08-17 04:22:32

标签: iphone cocoa-touch uitableview

我的应用程序允许用户在表格视图中重新排序行,但我想在移动完成后reloadData更改某些内容(在第一行添加一些文本)。

我在reloadData方法中尝试了moveRowAtIndexPath:,但它使应用程序挂起,因为此方法被多次调用(根据需要移动的行数)并且表视图重新加载很多次

所以,我只想知道何时完成移动行为,然后我只知道reloadData一次。有谁知道这个?请帮我。非常感谢你!

2 个答案:

答案 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