我正在使用NSURLConnection来获取XML文件。我解析XML文件,然后用它来填充核心数据。
如果NSURLConnection无法连接(即用户没有互联网连接),我只是从核心数据中读取持久数据。
但是,我在想...有没有办法可以检查XML文件,看看它是否从我上次使用它时更新了?所以如果不变,我可以保存重新下载/重新填充吗?
检查上次修改的文件或其他内容?
任何人都有一个很好的解决方案吗?
谢谢!
答案 0 :(得分:1)
这可以通过检查http标头或etags来完成。
答案 1 :(得分:0)
让服务器将其当前系统时间作为<timestamp>1332368408</timestamp>
之类的新字段添加到XML文件中。您需要另一个服务器API调用来检查特定文件是否已被修改,如http://<server>/xmlFileChangedSince/1332368408
返回true或false,基于您建议的文件的最后修改或通过覆盖每个<timestamp>
字段修改文件的时间。如果上述http请求的结果为true,那么您的应用程序就知道要下载新修改的数据。
将<timestamp>
字段添加到服务器端的XML文件的方法的好处是,它可以防止任何必须同步服务器和应用程序的时间,这些时间保证不会完全同步。如果您不想将字段添加到XML数据,那么您可以根据NSURLConnection
返回的时间设置应用程序端数据的时间戳,但如果您希望它完全可靠,则需要同步应用和服务器时间。虽然这并不是特别困难,但这是一种烦恼。