CoreData 模糊查询.

@property(nonatomic,strong)NSManagedObjectContext *context;

  self.context = ((AppDelegate *)[UIApplication sharedApplication].delegate).managedObjectContext;

//增加

 Teacher *tea = [NSEntityDescription insertNewObjectForEntityForName:@"Teacher"inManagedObjectContext:self.context];

//查询

- (void)fetchReauestData{

    //查询请求类,

    NSFetchRequest *request = [[NSFetchRequest alloc]initWithEntityName:@"LOClass"];

   //可以设置查询请求的排序方式和筛选条件

    //谓词 筛选条件

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K > %@",@"num",@5];

    request.predicate = predicate;

    //排序

    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"num" ascending:YES];

    [request setSortDescriptors:@[sort]];

    //执行查询

    NSArray *resultArr = [self.context executeFetchRequest:request error:nil];

    //给当前数据源数组.

    [self.allClasses setArray:resultArr];

}

//从数据库移除

 [self.context deleteObject:stu];

//创建基于coreDate的model

comd +N; -> core Data -> NSManagedObject subclass.

 /**

     *  注意:  创建的学生班级和老师对象,信息都存储在自己单独的表里面,

     向班级中加学生和老师,添加的是两个表之间的关系,添加关系之后,就可以方便的通过班级或者老师找到对应学生的数据.

     通过remove方法,移除的是对应之间的关系(两个表之间的关联移除) 只是移除之间的关系,之后就无法获取班级里学生的信息.

     如果要移除数据,可以通过数据管理器对象来删除.

     */

    //版本数据迁移 (数据库升级)

    /**

     *  Editor -> Add Model Version创建新的模型版本.

     把旧的模型版本切换为新的模型版本.

     AppDelegate里(持久化存储助理对象的getter方法) 配置数据迁移的选项设置.

     */

原文地址:https://www.cnblogs.com/wukun168/p/6010812.html