#筆記 編碼和解碼、JSON 介紹、在 AppStorage 中儲存自訂類型 — SwiftUI 新手入門 4–4

Dong
Feb 7, 2023

--

題目及內容取自於: ChaoCode 頻道

筆記:

> 編碼和解碼介紹

> JSON 介紹

> JSONEncoder 編碼

> JSONDecoder 解碼

> Codable 介紹

> AppStorage 搭配 Codable

> 讓 AppStorage 能儲存 Array

編碼和解碼介紹 -

拿前面的 Userfault 來舉例:

在儲存的過程中,因為 plist 不懂 person 這個類型,所以要轉換成支援的類型

來回轉換的過程就是編碼與解碼

JSON 介紹 -

JSONEncoder 編碼 -

Data 是二進位資料

JSONDecoder 解碼 -

Codable 介紹 -

AppStorage 搭配 Codable -

AppStorage 回顧
在類型點擊,可以自動生成 編碼解碼方式
自動生成的方式,屬性類型必須是 Codable 的,才可以不用改動

讓 AppStorage 能儲存 Array -

(1) 讓 Food 的 Array 遵循 RawRepresentable

這時候會跳出一個 Error ,説 Food 沒有遵循 Decodable

Error Message

(2) 把 Food 變成 Codable (Suffix 也要)

(3) 將 rawValue 的內容補上(data轉成 String)

(4) 將 foodList 改成 @AppStorage( Userdefault + State )

微調: 更通用一點

補充: 重置的過程(foodList)

--

--