美文网首页
coreData的基本使用

coreData的基本使用

作者: dididududididu | 来源:发表于2016-04-05 20:57 被阅读83次
    • CoreData 进行增删改查的时候常用的类:

      NSEntityDescription: 获取实体对象
      NSFetchRequest: 请求体
      NSPredicate: 请求条件
      NSSortDescriptor: 排序

    • 首先

    声明一个属性,将UIApplication单例的代理设置为它
       @property(nonatomic,strong)AppDelegate *App;
      self.App = [UIApplication sharedApplication].delegate;
    
    • CoreData增:
        1.获取实体对象(下面用到)
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.初始化的时候使用CoreData的initWithEntity进行初始化
        Person *person = [[Person alloc] initWithEntity:entity insertIntoManagedObjectContext:self.App.managedObjectContext];
        3.给person进行赋值
        Person.name = @"呵呵";
        Person.age = 18;
        4.保存数据库
        [self.App saveContext];
    
    • CoreData删:
        1.获取实体对象(下面用到)
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.创建请求体
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.创建请求条件
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.给请求体设置entity属性,还有predicate属性
        requset.entity = entity;
        requset.predicate = predicate;
        5.获取要删除的数据
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
        6.遍历之后,使用deleteObject:删除对象
        for (Student *stu in array) {
            [self.managedObjectContext deleteObject:stu];
        }
        7.保存数据
        [self.App saveContext];
    
    • CoreData:改
        1.获取实体对象
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.创建请求体
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.创建请求条件
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.给请求体设置entity属性,还有predicate属性
        requset.entity = entity;
        requset.predicate = predicate;
        5.获取要更改的数据
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
        6.遍历之后,修改要修改的属性
        for (Student *stu in array) {
            stu.name = @"需要修改的内容";
        }
        7.保存数据
       [self.App saveContext];
    
    • CoreData:查
        1.获取实体对象(下面用到)
        NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
        2.创建请求体
        NSFetchRequest *requset = [[NSFetchRequest alloc] init];
        3.创建请求条件
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
        4.给请求体设置entity属性,还有predicate属性
        requset.entity = entity;
        requset.predicate = predicate;
        5.获取所查询的内容
        NSArray *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
    
    • 总结:
      从以上可以看到我们使用coreData对数据库进行操作的增删改查就使用了几个类,步骤都差不多,除了增加数据的时候,其他的基本都是一样的,只要理解以上常用的类,灵活使用就可以对数据进行想要的操作了。

    相关文章

      网友评论

          本文标题:coreData的基本使用

          本文链接:https://www.haomeiwen.com/subject/mubplttx.html