如何实现像ChatGPT一样刷新表视图?iOS、斯威夫特

How to achieve ChatGPT like refresh of tableview on response? iOS, Swift

提问人:miki 提问时间:7/24/2023 更新时间:7/24/2023 访问量:75

问:

我正在构建使用 XMPP 和 ChatGPT 的聊天应用程序以及知识库。XMPP 的当前设置在流中返回 xml,因此这意味着有时我得到一个单词,有时一个单词的几个字符,有时甚至只是间距。实际上,对于一个 20 个单词的句子,假设我在流中得到了 50 次响应。如果我每次都重新加载tableview,我的UI被阻塞了,如何像ChatGPT应用程序一样实现数据的无缝重新加载并每次都显示响应?

iOS XML 解析 tableview 聊天 openai-api

评论

0赞 Paulw11 7/24/2023
您的问题需要更多细节。你如何显示结果?每个单词是表格中的一个单元格,还是响应显示在一个单元格中?您可以在收到响应后一秒钟左右使用 a 重新加载表/单元格。如果在计时器触发之前收到另一个响应,请重新启动计时器。你也可以做同样的事情。TimerCombine
0赞 miki 7/24/2023
目前,我在 tableview 中显示所有内容,并在每个响应通知上刷新 tableview。我正在使用 datasource 为 tableview 准备数据。这是一个聊天应用程序,所以不,我没有在单独的单元格中显示每个响应。流结束后,我会在单个单元格中显示该响应。目前,我正在尝试使用设置为 0.5 秒的限制延迟刷新表视图,但它无济于事。如果我将其设置为秒,那么从UX的角度来看,它看起来并不好。它看起来不流利。
0赞 Paulw11 7/24/2023
您应该编辑您的问题以显示代码。

答:

0赞 Santhosh 7/24/2023 #1

重新加载 uitableviewcell(要将文本更新到的单元格),而不是整个表视图。

tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.None)