我已经尝试了几种方法来查看是否仅在服务器更新时才需要更新用户的 UITableView 数据源。在过去的几年里,我做过这些场景: 1:拥有一个单独的 .txt 文件,其中一个字符作为版本 # 然后简单地通过代码比较它们并下载新的 .plist,然后将该 .txt 保存到用户的 NSDocumentDirectory与 .plist 将来再次比较,以及 2:实际检查服务器的文件修改日期,效果更好,因为没有 .txt 文件与 .plist 一起下载(下载的东西越少越好)
但是,现在我想尝试一种不同的方式来说明我在 App Bundle 中发布了一个 .plist 文件这一事实。由于 .plist 文件的创建日期总是晚于新用户的服务器日期,因此他们不会获得新的 .plist 文件,而应用程序的老用户会获得新文件。当然,在第一个应用程序启动时,我可以获取服务器的修改日期并覆盖应用程序,因为我将它从主包复制到 NSDocumentDirectory,但我不认为我想走那条路,因为我从来不喜欢检查发射计数。
基本上,它需要在网络请求时间上继续保持轻量级,并且像我一样可靠。我正在考虑在我的 .plist 中创建一个版本 # 键,并简单地将其与本地 .plist 进行比较,但我非常怀疑这将是轻量级的,因为我必须先将整个 .plist 下载到 NSDictionary 中才能下载比较关键值。
真的很抱歉这篇文章很长,感谢您的帮助!