在 Swift 中保存数据类型为"Data"的变量的文件



我是编程新手,我正在尝试用Swift编写一个函数来下载JSON并解析它。然而,JSON非常复杂,我每天从服务器请求数据的次数有限制。

有没有一种方法可以下载数据并将其作为"数据"保存到文件中,这样我就可以在文件中对这些数据进行所有测试,而不必每次都从服务器上获取数据?一旦我准备好了,我就可以再次开始从服务器获取数据了。

基本上,我可以用文件的内容初始化一个数据变量,这样我就可以在测试中使用它。

谢谢

  1. 确定要将其存储在何处以及应命名为什么。例如,对于可以从网络中重新检索的文件,我们将使用cachesDirectory:

    let folder = try! FileManager.default
    .url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
    .appendingPathComponent("downloads")
    

    或者,您可以使用applicationSupportDirectory(如果重新检索它是不切实际的(或.documentsDirectory(如果您想潜在地向最终用户公开文件(。但想法是一样的。

  2. 如果你还没有创建该文件夹:

    try? FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true)
    
  3. 为该文件夹中的文件创建URL:

    let fileURL = folder.appendingPathComponent("sample.json")
    
  4. 将该Data保存到该文件URL:

    do {
    try data.write(to: fileURL)
    } catch {
    print(error)
    }
    

最新更新