实体中的核心数据属性数

时间:2013-01-28 20:52:17

标签: xcode core-data

我是核心数据的新手我希望在下面的代码中提供一些帮助,我需要显示实体中的属性数量;

    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];

    //NSUInteger attributeCount = [[[object entity] attributesByName] count];
    float valueSF = 0;
    for (NSManagedObject *object in [sectionInfo objects]) {
        NSUInteger attributeCount = [[[object entity] attributesByName] count];
        valueSF += [[object valueForKey:@"value"] floatValue];
        valueSF = valueSF / attributeCount;
    }
    return [NSString stringWithFormat:@"[Average = %.03f] [Cases = %i]", valueSF, [[sectionInfo objects] count]];

}

2 个答案:

答案 0 :(得分:4)

核心数据提供了良好的内省。假设您指的是数据模型中实体为实际声明的属性数,您需要:

NSUInteger attributeCount = [[[object entity] attributesByName] count];

如果您想包含关系数量,请将attributesByName替换为propertiesByName

答案 1 :(得分:0)

现在很容易。通过以下函数捕获特定实体的属性数:

NSInteger count=[managedObjectContext countForFetchRequest:fetchRequest error:&error];