查询对象有一个数组,其中包含我们找到的项目

时间:2017-05-18 09:16:21

标签: ios core-data

示例我有很多地方的数组。在每个地方中,我有一个属性是 sub_category (数组)。

sub_category": [
    {
      "id": 1,
      "name": "Architecture"
    },
    {
      "id": 49,
      "name": "Family"
    },
    {
      "id": 58,
      "name": "Outdoor"
    },
    {
      "id": 69,
      "name": "People watching"
    },
    {
      "id": 7,
      "name": "Performance"
    },
    {
      "id": 73,
      "name": "Bridge"
    }
  ],

所有地方都已保存到数据库中。我用过CoreData。现在我有一个问题,我怎样才能找到sub_category id = 1,7,73

的地方

我认为的第一个解决方案是:获取所有位置并放入数组中。之后,该阵列中的每个位置。如果Place有sub_category包含任何sub_category_id将添加到结果。但是我已经保存了1000多个地方。因此,如果我获取所有这样的地方将需要很多内存。我认为我必须有一个好的NSPredicate,并且可以从带有谓词的数据库中获取

0 个答案:

没有答案