我是编程新手,我正在尝试用Swift编写一个函数来下载JSON并解析它。然而,JSON非常复杂,我每天从服务器请求数据的次数有限制。
有没有一种方法可以下载数据并将其作为"数据"保存到文件中,这样我就可以在文件中对这些数据进行所有测试,而不必每次都从服务器上获取数据?一旦我准备好了,我就可以再次开始从服务器获取数据了。
基本上,我可以用文件的内容初始化一个数据变量,这样我就可以在测试中使用它。
谢谢
-
确定要将其存储在何处以及应命名为什么。例如,对于可以从网络中重新检索的文件,我们将使用
cachesDirectory
:let folder = try! FileManager.default .url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: true) .appendingPathComponent("downloads")
或者,您可以使用
applicationSupportDirectory
(如果重新检索它是不切实际的(或.documentsDirectory
(如果您想潜在地向最终用户公开文件(。但想法是一样的。 -
如果你还没有创建该文件夹:
try? FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true)
-
为该文件夹中的文件创建URL:
let fileURL = folder.appendingPathComponent("sample.json")
-
将该
Data
保存到该文件URL:do { try data.write(to: fileURL) } catch { print(error) }