gpt4 book ai didi

ios - 社交网络应用程序如何实时更新其 UI?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:25:20 27 4
gpt4 key购买 nike

我想知道社交网络应用程序(例如 Twitter、Facebook 和 WhatsApp)如何在其他用户与应用程序的用户交互时实时更新其用户界面。使用我能想到的最佳示例:当您在 WhatsApp 中打开一个聊天窗口时,当与您聊天的用户与您交互时,UI 会自动更新(无需任何用户操作)。消息出现在您的屏幕上而无需刷新,并且当您的聊天伙伴离线或重新在线时,屏幕顶部的“最后一次查看”状态会自动更新。我可以想到两种方法来实现这一点:

  1. 远程推送通知:我认为这种方法是执行此操作的“最干净”的方法,但它可能也是风险最高的方法。使用静默通知(content-available)在用户做某事时将数据传递到另一台设备,可能会为您节省大量 HTTP 请求,因此会使您的应用消耗更少的数据,并且CPU使用率。这种方法的风险在于,用户可以轻松禁用所有推送通知以节省电池电量(包括静默通知),然后您的应用将无法获得远程事件通知。
  2. 本地 UI 刷新:这种方法显然是最安全的,但我认为它真的很“讨厌”,最终每个人都会感受到它的缺点。不断刷新 UI 并从数据库中重新检索数据以确保向用户显示最新的消息和状态是安全的,因为您的应用程序不必依赖设备的电池和后台模式设置,但是缺点是这会使您的应用消耗大量数据和电池电量,这对用户的数据计划和他的设备不利。我也不认为 Apple 会批准一款消耗如此多数据和电量的应用程序。

我刚刚在我自己的应用程序中实现了聊天功能,我想启用与 WhatsApp 使用的相同的实时 UI 更新。最好的方法是什么?我应该使用上述两种方法之一还是有人可以想出另一种方法来做到这一点?顺便说一句,我是一个相对较新的程序员,最近刚刚学习了如何开发 iOS 应用程序 (Swift)。我离专业人士还很远,所以请在解释和工作方法方面放轻松。谢谢!

最佳答案

聊天应用程序利用 WebSockets 与客户端和后端服务器建立持续连接。

article在 Appcoda 上可以帮助您开始了解 Socket.io。它可以回答您的问题,还可以帮助您创建演示应用。

关于ios - 社交网络应用程序如何实时更新其 UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45025913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com