我有几个从远程 XML 文件收集内容的 UITableView。有时文件更新了,但是 View 没有更新,因为我在我的 viewDidLoad 方法中加载了文件。
我假设我应该检查 viewDidAppear 并再次加载我的 XML 文件。但我不希望每次用户点击回到该 View 时都加载它。
最好的方法是什么?我能以某种方式检查网络上远程文件的更新日期吗?或者我应该将更新日期存储在我的应用程序中,然后每隔一段时间检查一次?必须有一种首选方法来执行此操作,以便我知道 XML 文件已更新。
谢谢。
最佳答案
我建议向一个开销非常小的页面发出get请求,只需要检查版本是否已更改所需的数据。
在 iOS 应用程序上,存储您存储的最后一个版本值,并根据您拉取的这个小页面检查它。如果页面上的值更大(更新),则拉取完整的 XML 文件。
此版本值可以是更新的日期时间或版本号。我现在不在 Mac 上,所以测试 Obj-C 代码并不简单,但这里有一些伪代码:
int versionNumber; // can be a datetime as well
...
void pullXmlIfAvailable() {
int latestVersionNumber = parseVersionNumberFromPage(URLget("myurl.com/check.xml")).to_i();
if (latestVersionNumber > versionNumber)
DataClass xml = parseDataFromLargerFile(URLget("myurl.com/bigfile.xml"));
}
关于iphone - iOS:检查远程文件更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5680843/