核心数据进行复杂的查询

时间:2012-11-30 10:55:33

标签: ios core-data

在我的应用程序中,我使用核心数据作为数据库管理器。这或多或少是我的数据库方案:

Table: Device(
id: String,
name: String,
specsId: String
);
Table: Specs(
specsId: String,
/**/
);

这两个表没有以任何方式连接。

我想要做的是当我从Device表中查询设备时,然后根据匹配的specsId自动从Specs表中查询规格。

这样做的正确方法是什么?

谢谢,

ž

1 个答案:

答案 0 :(得分:1)

执行此操作的正确方法是从Device表中删除“specsId”字段,并创建与Specs表的关系,称为“spec”。

这样,一旦你拥有了Device对象,就可以使用......

myDeviceObject.spec.<property of spec>;

访问规范。

如果没有连接,则必须创建NSFetchRequest以获取所需的Device对象,然后创建新的NSFetchRequest以获取Spec对象对于Device

第二个NSFetchRequest将有一个谓词......

@"specsId = %@", device.specsId