- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个列出酒店和房间的快速应用程序。我用 Rails 和 postgresql 创建了一个后端,并且在 heroku 上安装了它。我使用 JSON 在我的 iOS 前端之间来回传递信息。
这就是我想知道的。假设您有一个 TableViewController 和一个用于添加新项目的 UIBarButtonItem。新项目已添加, View 应更新。
你是怎么做到的?现在我的应用程序再次从服务器检索,这看起来很愚蠢。
我的列表中可能已经有 50 个项目。如果我添加一个新项目,服务器将再次被访问,现在检索到 51 个项目。
解决这个问题的最佳方法是什么?
最佳答案
同时做两件事。
如:
self.listings addObject:myObject];
[self.tableView reloadData];
最好的做法是假设数据已成功发送,并尽快在 UITableView 中显示列表。这将提供快速流畅的体验。 95% 的时间,数据会正常发送到您的服务器。如果发生错误,您可以简单地让用户知道出现问题并让他们选择重试(将其保存在本地,如果他们在错误后返回到添加屏幕,请预填充数据)。
另一个更懒惰和更糟糕的体验选项是在他们点击“添加”之后,您显示一个加载指示器并等待服务器响应,然后再将其添加到 UITableView 并刷新 tableview。
但同样 - 您发送到服务器的数据应该与您在本地显示的数据相同*,因此只需创建对象并将其添加到数组即可。
注意:* 如果服务器对这些数据做了很多处理,而您发送的内容与您显示的内容不同,您的服务器应该以创建的 201 和 创建的对象。序列化响应并将其添加到 UITableView。
关于ios - 如果 iOS 用户主动向 View 添加数据,从服务器检索数据的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23588112/
我是一名优秀的程序员,十分优秀!