ios - 避免再次下载文件,如果它没有改变

标签 ios objective-c xml

我需要使用 HTTP 协议(protocol)下载一个 XML 文件,以便在我的 iPhone 应用程序上本地使用它。偶尔这个文件会在服务器上更新,但不是很频繁。

我如何比较已下载的文档文件夹中的文件与服务器上的文件,如果内容已在服务器上更新则直接下载?

最佳答案

第一次下载文件时,保存响应的 Last-Modified header 中的日期。您可以将其从 NSHTTPURLResponse 对象中拉出。

在后续运行中,将该日期放入 NSURLRequestIf-Modified-Since header 中。如果服务器上的文件未更改,则 NSHTTPURLResponsestatusCode 应为 304(表示“未修改”)并且响应正文应为空.

关于ios - 避免再次下载文件,如果它没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068868/

相关文章:

Objective-C 使用继承变量和覆盖继承属性

sql-server - 从 XML 转换为 SQL Server 日期时间时出现毫秒错误

python - 如何在 Odoo/OpenERP 笔记本中动态添加页面?

ios - 当 UICollectionView 更改布局时覆盖 UIAccessibilityLayoutChangedNotification

ios - 每个 Xcode 方案的权利/能力

ios - 从 nib 加载 UITableViewCell 的特殊方法

java - Android检测是否在设计模式下调用了构造函数?

objective-c - UIScrollView 分页有 2 个 View

ios - SwiftUI Textfield Binding 在 iOS 15 中触发 2 次

ios - 具有动态高度 iOS 的 UITableViewCell