使用异步服务器调用删除iPhone表行的正确行为是什么?

时间:2011-07-20 17:45:34

标签: iphone uitableview user-interface

我正在努力添加删除iPhone上UITableView中的行的功能。很清楚如何从模型和UI中删除应用程序中的行。但是,删除需要对服务器进行调用,考虑到移动连接可能发生的所有困难,无法保证成功。我正在为单行实现滑动到删除并将整个表切换到编辑模式。

  • UITableView / UITableViewCell中可以使用哪种行为来指示正在进行的服务器调用?我认为这对于有限的房地产来说可能很棘手。
  • 在删除调用正在进行时,是否允许用户删除其他行?
  • 建议错误行为是什么?显示UIAlertView?

1 个答案:

答案 0 :(得分:3)

  1. 将单元格的附件视图更改为UIProgressView,以显示已执行某些活动并设置networkActivityIndicatorVisible
  2. 由于所有UI交互都发生在主线程上,因此您可以允许用户同时删除多行。只需在后台发送请求,并且不允许该用户滑动并删除该行,直到操作完成。
  3. 对于快速而肮脏的解决方案,UIAlertView可行。一个更优雅的解决方案是某种视图,从状态栏中删除详细信息,或者可以向单元格添加一个按钮,当用户点击它时,它会给出它失败的原因。这里有几种解决方案。