核心数据查询1< - >> 2< - > 3。如何从3获得1?

时间:2011-07-12 08:52:13

标签: iphone objective-c ios core-data

例如我有像这样的数据模型

Entity: Store                     Entity: Inventory           Entity:Product
Attribute: name                   Attribute: qty              Attribute: name
Relationship: inventories <---->>   Relationsips:  <<---->    Relationship: inventories
                                         stores 
                                        products 

我想知道如何从商店的核心数据列表中检索确切的产品。 我有tableView与产品,并点击确切的产品单元格我想移动到另一个控制器与商店列表,其中包含该产品。

据我所知,我可以先获取所有库存实体的NSSet,然后重复它以获取商店。但我认为Core Data更智能,并且存在更简单优雅的方法。例如,也许当我获得所有库存对象时,我可以使用谓词来获取存储,例如“Store.inventories IN(我以前获取的库存数组)”。或者更简单的方法。谢谢!

1 个答案:

答案 0 :(得分:0)

使用核心数据 - 作为一般规则 - 当您掌握托管对象时,请从该对象开始并导航模型以检索相关实体。具体做法是:

// if @"stores" is the name of the relationship in Inventory:
NSSet *stores = [product.inventories valueForKey:@"stores"];