Core Data的使用

来源:互联网 发布:使用网络的注意事项 编辑:程序博客网 时间:2024/05/09 04:21

/*____________________1.添加数据______________________________*/

    

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

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

        user.age =@(i+20);

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

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

        

        [selfaddUser: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.managedObjectContextinsertObject:user];


   NSError *error;

   BOOL success = [self.managedObjectContextsave:&error];

   if (!success) {

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

    }

    

   return success;

}


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

    

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

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

    

    //2.创建查询对象

    NSFetchRequest *request = [[NSFetchRequestalloc] init];

    [requestsetEntity:entity];

    

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

                                               argumentArray:@[userId]];

    

    

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

    [requestsetPredicate:predicate];

    

    //4.查询

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

    

   return [users lastObject];

}


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

    

   User *user = [selffindUserById:userId];

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

    [self.managedObjectContextdeleteObject:user];

    

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

    return [self.managedObjectContextsave:nil];

}



0 0
原创粉丝点击