使用Swift在Realm中嵌套数组

时间:2018-10-15 11:56:52

标签: json swift realm nsarray

我已经阅读了一些关于如何将数据数组存储到Realm的示例。不过,我找不到一个特别清楚的例子。

简而言之,我有一个(简化的)JSON,如下所示,我想将其存储在Realm中。我如何向Realm中添加成分数组,使其包含在menuItems数组中?

{
   "menuItems": [
      {
         "name": "name 1",
         "ingredients": ["ingredient 1", "ingredient 2"]
      },
      {
         "name": "name 2",
         "ingredients": ["ingredient 1", "ingredient 2", "ingredient 3"
         ]
      }
   ]
}

我的领域模型设置如下:

class MenuItemsRealm: Object {

    @objc dynamic var name: String = ""
    var ingredients = List<IngredientItemsRealm>()
}

class IngredientItemsRealm: Object {

    @objc dynamic var ingredientItem: String = ""
} 

1 个答案:

答案 0 :(得分:1)

在JSON中,您声明一个menuItem对象具有名为ingredients的属性/变量,并且包含String的数组。您可能想做的是创建一个包含特定ingredientItem属性/变量的对象数组

要举例说明您的JSON,将如下所示:

{
   "menuItems": [
      {
         "name": "name 1",
         "ingredients": [
             {
                 "ingredientItem": "item name"
             }
         ]
      }
   ]
}