我正在开发的app上的“删除”按钮被点击时会向服务器发送请求。
但是在等待服务器响应的过程中,我可以多次点击“删除”按钮,从而发送出多个服务器请求。
我正在寻找解决方案,希望在收到服务器响应之前禁用“删除”按钮。这是否可行?还有其他优雅的解决方案吗?或者我一开始做错了什么。
谢谢!
我正在开发的app上的“删除”按钮被点击时会向服务器发送请求。
但是在等待服务器响应的过程中,我可以多次点击“删除”按钮,从而发送出多个服务器请求。
我正在寻找解决方案,希望在收到服务器响应之前禁用“删除”按钮。这是否可行?还有其他优雅的解决方案吗?或者我一开始做错了什么。
谢谢!
在表格单元格中显示删除确认按钮,当用户点击该按钮时,您应该处理通常的commitEditingStyle
委托方法。
同时,您会发现在执行服务器请求时,删除按钮仍然保持在视图中。这意味着直到服务器请求完成,您才会实际删除该行。
如果是这种情况,那么您在commitEditingStyle
方法中应该立即重新加载正在删除的行。这将删除删除按钮。然后启动服务器请求。一旦服务器请求完成,您可以根据需要更新数据源,然后删除行或重新加载表格或部分。
在单元格中添加一个小活动指示器,以告知用户正在处理该行可能会更好。您还可以防止用户在服务器请求进行时再次滑动该行。
当第一次点击时,请使用此方法:
[deleteButton setEnabled:NO];
当你从服务器收到响应时,启用它。
deleteButton.enabled = NO
。禁用按钮将正确更新其外观。您的方法不会改变按钮的外观。 - rmaddy