0

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

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

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

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

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

谢谢,

Z

4

1 回答 1

1

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

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

myDeviceObject.spec.<property of spec>;

访问规范。

如果没有加入,您将不得不创建一个NSFetchRequest来获取Device您想要的对象,然后创建一个新NSFetchRequest的来获取该Spec对象Device

第二个 NSFetchRequest 将有一个谓词,例如...

@"specsId = %@", device.specsId
于 2012-11-30T10:59:19.423 回答