在 NSArray 中获取 NSFetchRequest 的所有结果
Posted
技术标签:
【中文标题】在 NSArray 中获取 NSFetchRequest 的所有结果【英文标题】:Get all results of a NSFetchRequest in an NSArray 【发布时间】:2014-05-16 15:29:37 【问题描述】:在我的应用中,我这样做是为了从实体中获取所有特定价值
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 这样我获得了NSDictionary
ies 的NSArray
,但我直接想要一个值数组。
什么是没有循环的快速获取它的方法?
【问题讨论】:
一个包含什么值的数组?id_str
属性的各个值?
@TomHarrington 我猜 OP 会检索 id_str
值的数组..但也许我错了
【参考方案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
。 总是检查可能的错误(为简单起见,我不在此代码 sn-p 中使用它)
我会将id_str
重命名为idStructure
【讨论】:
以上是关于在 NSArray 中获取 NSFetchRequest 的所有结果的主要内容,如果未能解决你的问题,请参考以下文章
从 NSDictionary 对象的 NSArray 中,如何获取唯一的 NSArray
如何在 NSString 中获取 NSArray 对象并一一发送该对象?
如何在滚动视图中显示从 Web 获取的 NSArray 数据并在 Objective C 中扩展+更新它?