1:一个人有1辆车
//0.获取AppDelegate的对象
AppDelegate *app = [UIApplication sharedApplication].delegate;
//1.插入一条数据 //[两个表]一对1 一个人有1辆车
People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext];
p.name = @"zs";
Car *car = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
p.car =car;
car.name = @"lisi";
[app saveContext];保存数据
//2.查询数据
//(1)创建请求
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"People"];
//(2)查询结果
NSArray *resultArray = [app.managedObjectContext executeFetchRequest:request error:nil];
[resultArray enumerateObjectsUsingBlock:^(People *p, NSUInteger idx, BOOL *stop) {
NSLog(@"p.name=%@ p.car.name=%@",p.name,p.car.name);
}];
2:一个人拥有多辆车
//1.插入一条数据
People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext];
p.name =@"狗蛋";
Car *car1 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car1.name = @"00000";
Car *car2 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car2.name = @"BMW";
Car *car3 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car3.name = @"QQ";
Car *car4 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car4.name = @"MSLD";
Car *car5 = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car5.name = @"LBJL";
//[两个表]一对多 一个人有多辆车
[p addCarObject:car1];
[p addCar:[NSSet setWithObject:car2]];
[p addCar:[NSSet setWithObjects:car3,car4,car5, nil]];
[app saveContext];
//2.查询数据
//(1)创建请求
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"People"];
//(2)查询结果
NSArray *resultArray = [app.managedObjectContext executeFetchRequest:request error:nil];
[resultArray enumerateObjectsUsingBlock:^(People *p, NSUInteger idx, BOOL *stop) {
NSLog(@"..........%@ ",p.name);
for (Car *car in p.car) {
NSLog(@"人car.name=.........%@",car.name);
}
}];
People *pp = [resultArray lastObject];
for (Car *car in pp.car) {
NSLog(@"最后一个人car.name=.........%@",car.name);
}
3:相互一一对应
AppDelegate *app = [UIApplication sharedApplication].delegate;
//1.插入一条数据
People *p = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:app.managedObjectContext];
p.name =@"狗剩";
Car *car = [NSEntityDescription insertNewObjectForEntityForName:@"Car" inManagedObjectContext:app.managedObjectContext];
car.name = @"Benz";
//一一对应关系
p.car = car;
car.people = p;
[app saveContext];
//2.查询
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName:@"People"];
NSArray *array = [app.managedObjectContext executeFetchRequest:req error:nil];
People *pp = [array lastObject];
NSLog(@"1...%@ 2>>>>>>>>>>>>>>>>>>>>>>>>>%@",pp.name,pp.car);
/*
1...狗剩
2>>>>>>>>>>>>>>>>>>>>>>>>><Car: 0x7fa5c2c604d0> (entity: Car; id: 0xd000000000140000 <x-coredata://A0E5E48F-0A5C-4E1C-AA48-DC75D34B3C27/Car/p5> ; data: {
name = Benz;
people = "0xd000000000140002 <x-coredata://A0E5E48F-0A5C-4E1C-AA48-DC75D34B3C27/People/p5>";
})
*/