Xcode 8/Swift 3:使 API 信息离线可用



我目前正在开发一个通过API运行的Xcode 8/Swift 3应用程序。从本质上讲,我正在使用MySQL数据库中的SwiftyJSON解析信息,该数据库使内容保持最新且易于更新。

为了保持它,以便内容也可以离线使用,我想介绍一种工具,将数据下载并存储在手机上,以便在"离线模式"下可用。

我知道这是一个完全开放的问题,但任何人都可以指出我如何离线提供此 JSON 信息的正确方向吗?我尝试在网上搜索但没有成功。

我知道

它不是 Swift,但这个绝对的大师最近打开了他的杰作:Dash for iOS

回顾他为快速滚动和搜索所做的工作,可能会深入了解如何最好地做到这一点,就像(可以说)在这方面比苹果以外的任何人都更有经验的人所做的那样:

https://github.com/Kapeli/Dash-iOS

我更喜欢这里的 2 个选项,要么我会使用 1.SQLite DB2。NSURLCache

对于SQLite数据库,您可以使用FMDB包装器 https://github.com/ccgus/fmdb

对于 NSURLCache,请查看此链接 在 SWIFT 中从 API 缓存 JSON 的最佳方式?

如果您只想保存json,请使用NSURLCache进行离线模式。

实现iOS离线有两个最佳路径,它们是CoreData和SQLITE。根据CoreData的定义,它是项目的模型层。它在开发人员方面付出的努力更少。位对比SQLITE具有相同的方式,但很少努力。

在我的项目中,我们使用 CoreData 进行离线维护。实际上,我们对关系数据的获取几乎没有什么顾虑,尽管有一个谓词表示CoreData,但它仅限于某些部分。这些类型的情况 SQLITE 确实是救命稻草。我们可以使用简单的 JOIN 命令轻松获取记录。

结论:
如果你有更复杂的数据关系,最好使用SQLITE,除了CoreData是最好的选择。

最新更新