无需等待API响应即可更改图标状态。 (标记为最喜欢的功能)

时间:2018-02-08 10:14:04

标签: ios swift api favorites

我正在swift中创建一个应用程序,我希望实现“标记为收藏”功能。基本上我有一个心脏图标,目前很清楚。当用户点击它时它会变成橙色(就像Instagram中的心形图标(如选项)一样) 当我点击图标时,呼叫进入服务器,当其成功响应返回时,心脏图标变为橙色。但这个流程平均需要3到4秒,而在Instagram,Facebook或任何其他此类应用程序中,此事情会立即发生。此外,如果用户反复点击图标,则喜欢的计数器会完美地递增/递减,但在我的应用程序中,如果我将这样做,服务器调用(同时调用标记和取消标记图标)将崩溃并且应用程序将崩溃。 / p>

我想通过以下方式做到这一点:

  • 当用户点击图标时,立即更改其颜色 等待成功回应,假设表示成功 回应将来临。但这根本不是一个好方法,因为如果 服务器无法处理请求(由于任何原因) 心脏的颜色会从清晰变为橙色,然后再变色 清楚,这看起来很奇怪。

  • 显示活动指示器,直到响应来自服务器 但同样,如果用户想要从列表中标记多个项目,他 必须看到指标并等待它们中的每一个 看起来很笨拙。

所以我想为我的问题找一个合适的解决方案。任何帮助,将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

在请求开始时将图标设置为橙色的第一种方法似乎没问题,因为没有人喜欢等待保存。看看这种情况就像在聊天中发送消息一样。您在发送后立即在聊天中看到消息,如果无法发送,则显示相应的状态