zoukankan      html  css  js  c++  java
  • 2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)

      Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等。谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储区。谓词是SQL里面的where子句。

      在筛选的过程中,每个托管对象都会根据谓词求值,根据返回的YES或NO取舍。

      具体的谓词规则查阅:developer.apple.com 并搜索Predicate Programming Guide。

      程序修改代码如下:

    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
        NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Item"];
        NSPredicate *filter = [NSPredicate predicateWithFormat:@"name != %@",@"Coffee"];
        [request setPredicate:filter];
        
        [request setSortDescriptors:[NSArray arrayWithObject:sort]];
        NSArray *itemObjects = [_coreDataHelper.context executeFetchRequest:request error:nil];
        for (Item *item in itemObjects) {
            NSLog(@"item name = %@", item.name);
        }
  • 相关阅读:
    CH6201走廊泼水节
    P3366 (模板)最小生成树
    linux 基础语法
    django 3.1 序列化讲述
    django 的基础设计
    django 的初始项目结构
    http
    mysql(一)
    反射型xss
    html(四)
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4934932.html
Copyright © 2011-2022 走看看