0

私はコア データを初めて使用します。エンティティ内の属性の数を表示する必要がある以下のコードを参考にしていただければ幸いです。

    - (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]];

}
4

2 に答える 2

4

Core Data は優れたイントロスペクションを提供します。データ モデル内のエンティティに対して実際に宣言されている属性の数を意味すると仮定すると、次のことが必要になります。

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

関係の数を含めたい場合は、 に置き換えattributesByNameますpropertiesByName

于 2013-01-28T21:09:04.847 に答える