Arrays 如何在Swift中临时存储视图中的数组和数据对象
假设有一个烹饪应用程序,用户可以创建自己的食谱。该应用程序与Firebase集成,并从Firebase获取核心数据。 在一个视图中,我让用户创建菜谱。因此,用户将输入名称、成分及其大小和设备。不知何故,我需要存储这些数据以便在视图中使用,然后在用户按下保存按钮后将其保存在Firebase上。 如何临时存储此数据? 数据将类似于下面的示例。数组和对象的混合体Arrays 如何在Swift中临时存储视图中的数组和数据对象,arrays,swift,object,swiftui,swift5,Arrays,Swift,Object,Swiftui,Swift5,假设有一个烹饪应用程序,用户可以创建自己的食谱。该应用程序与Firebase集成,并从Firebase获取核心数据。 在一个视图中,我让用户创建菜谱。因此,用户将输入名称、成分及其大小和设备。不知何故,我需要存储这些数据以便在视图中使用,然后在用户按下保存按钮后将其保存在Firebase上。 如何临时存储此数据? 数据将类似于下面的示例。数组和对象的混合体 { "User": 124213, "RecipeName": "Some Name", "createdDate": "Som
{
"User": 124213,
"RecipeName": "Some Name",
"createdDate": "Some Date",
"Ingredients": [
{
"ingredient": 123,
"size": 3
},
{
"ingredient": 234,
"size": 3
},
{
"ingredient": 294,
"size": 2
},
{
"ingredient": 736,
"size": 2
},
{
"ingredient": 150,
"size": 4
}
],
"Equipment": [
[ 123, 234 ],
[ 294, 736 ]
]
}
我不知道开发人员如何处理这样的情况,即他们需要在将数据发送到Firebase之前将数据暂时保存在IOS上
欢迎提出任何想法或建议。根据您的需要,使用结构或类定义您的数据结构,并使其符合可编码:
struct Recipe: Codable {
let user: Int
let recipeName, createdDate: String
let ingredients: [Ingredient]
let equipment: [[Int]]
enum CodingKeys: String, CodingKey {
case user = "User"
case recipeName = "RecipeName"
case createdDate
case ingredients = "Ingredients"
case equipment = "Equipment"
}
}
// MARK: - Ingredient
struct Ingredient: Codable {
let ingredient, size: Int
}
一旦需要将数据发布到Firebase,请将其转换为JSON并发布
let dataRecipe = try? JSONEncoder().encode(myRecipeObject)
非常感谢你的帮助。我发布了一个关于更新此结构中的值的问题。如果你能回答这个问题,那就太好了。