/*____________________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];
}