Ios 在NSArray中获取NSFetchRequest的所有结果
在我的应用程序中,我这样做是为了从实体中获取所有特定值Ios 在NSArray中获取NSFetchRequest的所有结果,ios,objective-c,core-data,nsfetchrequest,nsentitydescription,Ios,Objective C,Core Data,Nsfetchrequest,Nsentitydescription,在我的应用程序中,我这样做是为了从实体中获取所有特定值 NSManagedObjectContext *context = [[self sharedAppDelegate] managedObjectContext]; NSError *error = nil; NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName:@"Structure"]; [req setPropertiesToFetch:@[@"id_str"
NSManagedObjectContext *context = [[self sharedAppDelegate] managedObjectContext];
NSError *error = nil;
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName:@"Structure"];
[req setPropertiesToFetch:@[@"id_str"]];
[req setResultType:NSDictionaryResultType];
NSArray *id_str_BD = [context executeFetchRequest:req error:&error];
通过这种方式,我获得了NSDictionary
ies的NSArray
,但我直接想要一个值数组。
没有循环的快速获取方法是什么?我同意汤姆的观点。什么价值观 无论如何,您可以通过KVC来完成它。比如说,
NSFetchRequest* fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Structure"];
[fetchRequest setPropertiesToFetch:@[@"id_str"]];
NSArray* results = [[self managedObjectContext] executeFetchRequest:fetchRequest error:nil];
NSArray* ids = [results valueForKey:@"id_str"];
NSLog(@"%@", ids);
注释
- 对于错误,不要传递
始终检查是否存在可能的错误(为了简单起见,我在本代码段中不使用它)nil
- 我会将
重命名为id\u str
idStructure
id\u str
属性的单个值?@TomHarrington我猜OP会检索一个id\u str
值数组。但也许我错了