0

在我的应用程序中,我这样做是为了从实体中获取所有特定价值

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

int 这样我获得了一个NSArrayiesNSDictionary但我直接想要一个值数组。什么是没有循环的快速获取它的方法?

4

1 回答 1

1

我同意汤姆的观点。什么价值观?

无论如何,你可以通过 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_stridStructure
于 2014-05-16T17:19:21.590 回答