核心数据如何从实体中检索列

时间:2012-03-24 17:05:51

标签: ios core-data primary-key

我正在为我的ios应用程序使用Core Data,我想知道如何从实体表中检索整个列?例如,我非常有兴趣从我的桌子上抓取主键。

在sql中我只会从MYTABLE中选择名称。

2 个答案:

答案 0 :(得分:7)

我认为你可以这样做:

NSManagedObjectContext *context = [self managedObjectContext];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"--table--" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:nil];

NSMutableArray *elementsFromColumn = [[NSMutableArray alloc] init];
for (NSManagedObject *fetchedObject in fetchedObjects) {
    [elementsFromColumn addObject:[fetchedObject valueForKey:@"--column--"]];
}

因此,您拥有表格特定列中的所有元素。 希望这是你正在寻找的东西:)

答案 1 :(得分:1)

查看NSFetchRequest的documentation。您可以要求它返回仅包含特定属性的字典 - 这与您将获得的结果非常接近。感兴趣的方法是setResultType:setPropertiesToFetch: