Core Data的使用

/*____________________1.添加数据______________________________*/

    

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

        User *user = [NSEntityDescription insertNewObjectForEntityForName:@"User" inManagedObjectContext:self.managedObjectContext];

        user.age = @(i+20);

        user.name = [NSString stringWithFormat:@"%d",i];

        user.userId = [NSString stringWithFormat:@"%d",1000+i];

        

        [self addUser:user];

    }

    

/*____________________2.查询______________________________*/

    

//    User *user = [self findUserById:@"1007"];

//    NSLog(@"name=%@,age=%@,id=%@",user.name,user.age,user.userId);

//    

///*____________________3.删除______________________________*/    

//    [self deleteUserById:@"1008"];

    


//*____________________4.修改______________________________*/

    //修改的对象,必须已经在context容器中

//    User *user = [self findUserById:@"1007"];

//    user.name = @"王五";

//    user.age = @10;

//    [self.managedObjectContext save:nil];


    

    //一对多的关系,数据操作

//    User *user = [self findUserById:@"1007"];

//    

//    for (int i=0; i<5; i++) {

//        Movie *movie = [NSEntityDescription insertNewObjectForEntityForName:@"Movie" inManagedObjectContext:self.managedObjectContext];

//        movie.movieId = [NSString stringWithFormat:@"%d",2000+i];

//        movie.name = [NSString stringWithFormat:@"钢铁侠%d",i+1];

//        

//        //添加一个用户喜爱的电影

//        [user addLoveMovieObject:movie];

//    }

    

//    //将修改的数据同步到持久化文件中

//    [self.managedObjectContext save:nil];

    

//    User *user = [self findUserById:@"1007"];

//    NSSet *lovieMovies = user.loveMovie;

//    for (Movie *movie in lovieMovies) {

//        NSLog(@"movieName=%@,id=%@",movie.name,movie.movieId);

//    }



//添加一个用户

- (BOOL)addUser:(User *)user {

    [self.managedObjectContext insertObject:user];


    NSError *error;

    BOOL success = [self.managedObjectContext save:&error];

    if (!success) {

        NSLog(@"保存失败,error = %@",error);

    }

    

    return success;

}


- (User *)findUserById:(NSString *)userId {

    

    //1.创建实体描述对象

    NSEntityDescription *entity = [NSEntityDescription entityForName:@"User" inManagedObjectContext:self.managedObjectContext];

    

    //2.创建查询对象

    NSFetchRequest *request = [[NSFetchRequest alloc] init];

    [request setEntity:entity];

    

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.userId=%@"

                                                argumentArray:@[userId]];

    

    

    //3.设置谓词,定义查询条件

    [request setPredicate:predicate];

    

    //4.查询

    NSArray *users = [self.managedObjectContext executeFetchRequest:request error:nil];

    

    return [users lastObject];

}


- (BOOL)deleteUserById:(NSString *)userId {

    

    User *user = [self findUserById:userId];

    //user对象从context容器中删除

    [self.managedObjectContext deleteObject:user];

    

    //将数据同步写入到持久化文件中

    return [self.managedObjectContext save:nil];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值