我正在制作闪存卡应用。每个闪存卡具有以下内容 -一个话题 - 一个问题 -答案
答案可以是多个段落,例如简短的文章。
例如: 主题:营养 问题:什么是古人? 答:古旧是低碳水化合物饮食。 \ n 它依赖特定的肉类和蔬菜作为饮食的主食。你不能在古堡上吃面包。
CSV似乎不是一种选择,除非我用\ n代替~~
该段落中也可能带有引号。我希望能够下载一整套抽认卡供脱机使用,因此仅从数据库中提取不是一个理想的选择。
我是否可以使用良好的格式/结构来捆绑一整套抽认卡,以便在本地系统上轻松下载/解析/保存?
答案 0 :(得分:0)
您可以按以下方式表示数据:
struct Card: Codable {
let topic: String
let question: String
let answer: String
}
然后,如果您有一个数组let card = [Card]
,则可以使用JSONEncoder
转换为JSON,并使用Card
从JSON转换为JSONDecoder
let cards = [Card(topic: "Nutrition", question: "What is paleo?", answer: "Paleo is a low carb diet.\nIt relies on specific meats and vegetables as the staple of the diet. You cannot eat bread on paleo.")]
let data = try JSONEncoder().encode(cards)
let string = String(data: data, encoding: .utf8)!
print(string)
// [{"topic":"Nutrition","question":"What is paleo?","answer":"Paleo is a low carb diet.\nIt relies on specific meats and vegetables as the staple of the diet. You cannot eat bread on paleo."}]
let newCards = try JSONDecoder().decode([Card].self, from: data)