Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Swift中临时存储视图中的数组和数据对象_Arrays_Swift_Object_Swiftui_Swift5 - Fatal编程技术网

Arrays 如何在Swift中临时存储视图中的数组和数据对象

Arrays 如何在Swift中临时存储视图中的数组和数据对象,arrays,swift,object,swiftui,swift5,Arrays,Swift,Object,Swiftui,Swift5,假设有一个烹饪应用程序,用户可以创建自己的食谱。该应用程序与Firebase集成,并从Firebase获取核心数据。 在一个视图中,我让用户创建菜谱。因此,用户将输入名称、成分及其大小和设备。不知何故,我需要存储这些数据以便在视图中使用,然后在用户按下保存按钮后将其保存在Firebase上。 如何临时存储此数据? 数据将类似于下面的示例。数组和对象的混合体 { "User": 124213, "RecipeName": "Some Name", "createdDate": "Som

假设有一个烹饪应用程序,用户可以创建自己的食谱。该应用程序与Firebase集成,并从Firebase获取核心数据。 在一个视图中,我让用户创建菜谱。因此,用户将输入名称、成分及其大小和设备。不知何故,我需要存储这些数据以便在视图中使用,然后在用户按下保存按钮后将其保存在Firebase上。 如何临时存储此数据? 数据将类似于下面的示例。数组和对象的混合体

{
  "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) 

非常感谢你的帮助。我发布了一个关于更新此结构中的值的问题。如果你能回答这个问题,那就太好了。