如何创建获取请求以获取具有特定属性值的对象

Posted

技术标签:

【中文标题】如何创建获取请求以获取具有特定属性值的对象【英文标题】:How to create a fetch request to fetch objects with specific attribute values 【发布时间】:2015-06-26 22:37:46 【问题描述】:

我想创建一个获取请求,以便获取具有特定属性值的对象。

在我的一个视图控制器中,我使用如下所示的获取请求:

- (NSFetchRequest *)targetsFetchRequest 

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Target"];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"order" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
    [fetchRequest setSortDescriptors:sortDescriptors];
    return fetchRequest;

但是现在我为目标对象创建了另一个属性,称为“状态”,并且在另一个视图控制器中,我想创建一个获取请求以仅获取其状态等于“1”的目标对象...

请帮我弄清楚如何创建这个提取请求。

感谢分配!

【问题讨论】:

【参考方案1】:

您需要在获取请求中添加谓词。看看Apple Documentation for NSPredicate 和Predicate Programming Guide。

在你的情况下,你需要这样的东西:

fetchRequest.predicate = [NSPredicate predicateWithFormat:@"status == 1"];

【讨论】:

以上是关于如何创建获取请求以获取具有特定属性值的对象的主要内容,如果未能解决你的问题,请参考以下文章

如何查询具有特定属性值的核心数据对象

LINQ:获取包含具有特定名称和值的属性的数组中的对象

如何执行条件“executeFetchRequest”以仅获取特定属性为零的实体? [复制]

如何从具有特定值的变量和数据库中获取数据以将其计入laravel上的图表

仅获取共享特定属性值的 Core Data 对象

获取从抽象类继承并在属性中具有特定值的类的实例