Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在NSArray中获取NSFetchRequest的所有结果_Ios_Objective C_Core Data_Nsfetchrequest_Nsentitydescription - Fatal编程技术网

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
值数组。但也许我错了