在Coredata中,如何获取特定表的所有ID?
问题描述:
我想从coredata
表中获取所有ID。例如,有一个名为Person
的表。有一个personId
来唯一标识一条记录。我想取所有personId
留在Person
表。我不知道我该如何做一个查询。在Coredata中,如何获取特定表的所有ID?
在SQLite Manager
,我可以通过执行以下查询做到这一点:
选择 ZPERSONID FROM ZPERSON;
但我不知道如何为iOS Coredata做到这一点。
在此先感谢!
答
希望这将有助于:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
request.resultType = NSDictionaryResultType;
request.returnsDistinctResults = YES;
request.propertiesToFetch = @[@"personID"];
NSError *error;
NSArray *persons = [yourManagedContext executeFetchRequest:request error:&error];
做一个没有谓语'Person'实体获取。如果你想节省内存,你可以用字典格式指定结果,并指定你想要的属性。 – Avi
它会返回什么?词典? – NSPratik
通常,一个'NSFetchRequest'返回'NSManagedObject's。你可以指定你想要一个字典表示,并且你还可以在字典中指定你想要的特定属性。检查“NSFetchRequest”的类引用。 – Avi