iphone - iOS:检查远程文件更新

标签 iphone objective-c ios uitableview asihttprequest

我有几个从远程 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/

相关文章:

ios - 键盘扩展没有常用词,没有自动更正

android - iOS 11 AVPlayer/mp3 currentTime 不准确

ios - 使用 UILabel 子图层切断覆盖图像的角落

iphone - 如何将sqlite3数据库文件存放在应用程序的Library目录下?

ios - 点击购买后重复调用addTransactionObserver

ios - 无法在自定义 UIViewController 中分配自定义 UITableViewCell

ios - 在 TabBarController 应用程序中从另一个 ViewController 在 vi​​ewController 中设置属性是一种不好的做法

iPhone 开发 - 如何用音频文件的内容覆盖麦克风

iphone - 如何在iPhone中集成Webview?

objective-c - 将目录移至垃圾箱