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

标签 ios swift api favorites

我正在快速创建一个应用程序,我想在其中实现“标记为收藏”功能。基本上我有一个目前清晰的心形图标。当用户点击它时,它会变成橙色(就像 Instagram 中心形图标(如选项)的工作方式一样) 当我点击该图标时,会向服务器发出调用,当返回成功响应时,心形图标变为橙色。但是这个流程平均需要 3 到 4 秒,而在 Instagram、Facebook 或任何其他此类应用程序中,这件事会立即发生。此外,如果用户反复点击图标,点赞计数器会完美地递增/递减,但在我的应用程序中,如果我这样做,服务器调用(同时调用标记和取消标记图标)将崩溃,应用程序将崩溃。

我想到了以下几种方式:

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

  • 在响应来自服务器之前显示一个事件指示器 但是同样,如果用户想标记列表中的几个项目,他 将不得不看到指标并等待它们中的每一个 会显得很笨拙。

所以我想要一个像样的解决方案来解决我的问题。任何帮助,将不胜感激。提前致谢。

最佳答案

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

关于ios - 无需等待 API 响应即可更改图标状态。 (标记为最喜欢的功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48682911/

相关文章:

iphone - 我可以从 Interface Builder 传递 'parameter' 以便我的 ViewController 类知道如何以不同的方式处理吗?

JavaScript 函数在 iOS 中不起作用

ios - 如何在 swift 中为 MFMailComposeViewController 中的收件人将 UserInteractionEnabled 设置为 false

php - PHP的Youtube API引用代码?

ios - 使用Xcode在iPad上比在iPhone上放大字体

ios - 我们需要在 ARC 的 UIAnimationBlocks 中使用 __weak self 吗?

ios - 属性字符串未正确采用 kern 值

ios - 异步任务完成时的返回值

api - 参数列表后的YouTube API: Uncaught SyntaxError :缺少)

java - 执行 API 测试时忽略证书