Xcode8后coreData的使用简介

1.首先新建一个工程,在建立工程时记得勾选use coredata


2.系统会自动创建coredata,点击它,如图:


3.对coredata进行增删改查操作

(1)导入school和student的头文件 School+CoreDataProperties.h,Student+CoreDataClass.h

@property (nonatomic , strong) AppDelegate *appdelegate;

self.appdelegate =(AppDelegate *)[UIApplicationsharedApplication].delegate;

(2) 添加数据

NSEntityDescription *entityDescription = [NSEntityDescriptionentityForName:@"School"inManagedObjectContext:self.appdelegate.

persistentContainer.viewContext];

    School *school = [[Schoolalloc]initWithEntity:entityDescriptioninsertIntoManagedObjectContext:self.appdelegate.persistentContainer.

             viewContext];

    school.name = @“清华大学”;

    school.area = @“北京”;

    [self.appdelegatesaveContext];

    for (int i = 0; i < 3 ; i ++) {

        Student *student =      [NSEntityDescriptioninsertNewObjectForEntityForName:@"Student"inManagedObjectContext:self.appdelegate.persistentContainer.viewContext];

        student.name =[NSString stringWithFormat:@"学生%d",i];

        student.number =[NSString stringWithFormat:@"00%d",i+10];

        student.stu_school = school;

        [self.appdelegatesaveContext];

}

  (3) 查询数据

  NSFetchRequest *fetchRequest = [[NSFetchRequestalloc] init];

    NSEntityDescription *entity =        [NSEntityDescriptionentityForName:@"School"inManagedObjectContext:self.appdelegate.persistentContainer.viewContext];

    [fetchRequest setEntity:entity];

     NSError *error =nil;

    self.schoolArr = [[self.appdelegate.persistentContainer.viewContextexecuteFetchRequest:fetchRequest error:&error] mutableCopy];

    if (self.schoolArr ==nil) {

        NSLog(@"------");

    }else {

        for (School *schoolin self.schoolArr) {

            for (Student *studentin school.school_stu) {

                NSLog(@"==%@",student.name);

            }

            NSLog(@"%@---%@",school.name,school.area);

        }

    }

(4) 修改数据

    School *school =self.schoolArr[0];

    school.name = @"深圳大学";

    school.area = @"深圳";

    [self.appdelegatesaveContext];

(5) 删除数据

School *school = self.schoolArr[0];

[self.appdelegate.persistentContainer.viewContextdeleteObject:school];

    [self.appdelegatesaveContext];


4.运行程序,可以对其进行调试。

注意:如果模型发生了变化,此时可以重新生成实体类文件,所生成的数据库并会自动更新,不需要做额外的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值