Iphone 获取核心数据关系中的对象数

Iphone 获取核心数据关系中的对象数,iphone,core-data,Iphone,Core Data,我有一个食谱的桌面视图。用户可以添加和删除配方。 单击配方时,会推送另一个tableview,并显示配料。同样,用户可以添加和删除成分 食谱和配料之间有着千丝万缕的联系 我想显示配方表视图行中的配料数量。我知道如何在interface builder中设置所有行,但我不知道如何获得单个配方的配料数量 这可能吗 只需使用一个允许所有匹配项的谓词对所有成分进行提取。此NSFetchRequest在执行时将返回一个NSArray。只需执行一次[myArray count]即可获得配料数量。使用coun

我有一个食谱的桌面视图。用户可以添加和删除配方。 单击配方时,会推送另一个tableview,并显示配料。同样,用户可以添加和删除成分

食谱和配料之间有着千丝万缕的联系

我想显示配方表视图行中的配料数量。我知道如何在interface builder中设置所有行,但我不知道如何获得单个配方的配料数量


这可能吗

只需使用一个允许所有匹配项的谓词对所有成分进行提取。此
NSFetchRequest
在执行时将返回一个
NSArray
。只需执行一次
[myArray count]
即可获得配料数量。

使用countForFetchRequest而不是executeFetchRequest,并且(对于SQL支持的存储),它将进行计数而不是选择。

如果您使用的是核心数据,您可以通过调用count方法询问配料列表中有多少配料:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    int count = [recipe.ingredients count];
    return count;
}
通过查看,可以了解collection类具有哪些属性和方法

通过查看核心数据创建的生成类,我找到了要查看的类:

@class ParentObject;
@interface ParentObject :  NSManagedObject  
{
}
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet* childObjects;
@end

仅仅为了获取计数,这不是太多的工作(对象创建等)吗?也许还有其他方法可以在不创建任何对象的情况下访问数据存储。请张贴备选方案。我自己也很好奇。事实上,关于这个主题,这里有一个非常简单的问题:因为配方对象已经在内存中,最简单的方法是询问上面Helephant提到的计数关系。因为OP已经有了配方对象,这是最简单的答案。