3

我正在处理的应用程序上的删除按钮在点击时会进行服务器调用。

但是,当我们等待服务器响应时,我可以多次单击“删除”按钮,从而发出多个服务器请求。

我正在寻找解决方案,我想禁用删除按钮,直到我收到服务器的回复。这可能吗?或者有另一个优雅的解决方案吗?还是我一开始做错了什么。

谢谢!

4

2 回答 2

4

看来,当您在表格单元格中显示“删除”确认按钮,然后用户点击该按钮时,您可以在通常的commitEditingStyle委托方法中处理删除。

但这听起来也像是您启动了一个服务器请求,并且在它执行时,“删除”按钮仍在视图中。这意味着在服务器请求完成之前,您实际上不会删除该行。

如果是这种情况,那么你应该在你的commitEditingStyle方法中做的是立即重新加载被删除的行。这将删除删除按钮。然后启动服务器请求。服务器请求完成后,您将根据需要更新数据源,然后根据需要删除行或重新加载表或部分。

向单元格添加一个小活动指示器可能会很好,让用户知道正在处理该行。您可能还希望防止用户在服务器请求正在进行时再次在该行上滑动。

于 2013-04-19T17:26:13.550 回答
0

第一次点击时使用此方法:

[deleteButton setEnabled:NO];

然后在收到服务器响应时启用它。

于 2013-04-18T17:20:44.400 回答