簡體   English   中英

Swift:寫入 JSON 並在本地保存到 iPhone 文件

[英]Swift: write JSON and save to iPhone File locally

我正在學習如何將 JSON 格式的數據寫入 iPhone。 因此,單擊一個按鈕,我想將這些數據保存到 iPhone。 我看了一個關於如何編寫一些簡單文本並將其保存到 iPhone 文件中的簡單外觀,並且它起作用了。 但是,我嘗試將相同的想法應用於 JSON 數據,但仍然沒有弄清楚。 我試過了:

我試圖將其作為我的數據(jsondata),而不是讓內容等於一些書面文本。 但它似乎不適用於

嘗試 jsondata.write(to: fileURL, atomically: false, encoding: .utf8)

@IBAction func writeFiles(_ sender: Any) {
        let file = "\(UUID().uuidString).txt"
               let contents = "Testing"
               let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
               let fileURL = dir.appendingPathComponent(file)
               do {
                   try contents.write(to: fileURL, atomically: false, encoding: .utf8)
               }
               catch {
                   print("Error: \(error)")
               }
   }

對不起,我有點新,目前正在學習 Swift

謝謝!

這是一個簡單的項目供您克隆或瀏覽源文件https://github.com/eSpecialized/WriteJsonToFiles

視圖 Controller 包含示例; https://github.com/eSpecialized/WriteJsonToFiles/blob/master/WriteToFiles/ViewController.swift

基本上你需要做幾個步驟來寫;

  1. 組裝您的對象(字符串等)。
  2. 使用 JSONEncoder 轉換為 JSONEncoded 數據。
  3. 實際的“數據”Object 可以將其二進制內容寫入存儲。

讀取數據;

  1. 你需要一個 JSONDecoder。
  2. 您需要 memory 中的 FileContents 使用 Data(contents:...)
  3. 將內存中的數據解碼回 object,就像它被存儲一樣。

A more complicated example of reading and writing JSON to a Web Service API is on Medium here > https://medium.com/better-programming/json-parsing-in-swift-2498099b78f

概念相同,目標從用戶文件夾中的文件更改為 web 服務 API。 我覺得讓你開始閱讀和寫作 JSON 就足夠了。

Medium 文章更進一步,向您介紹數據模型並使用 Codable 協議讀取和寫入這些數據 Model 結構。

享受: :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM