- Xcode4 Core Data Relationships
- // test/learn the core data frame work
- NSManagedObjectContext *context = [self managedObjectContext];
- NSManagedObject *locationData = [NSEntityDescription
- insertNewObjectForEntityForName:@"LocationData"
- inManagedObjectContext:context];
- [locationData setValue:@"Testville" forKey:@"City"];
- [locationData setValue:@"United Tests" forKey:@"Country"];
- [locationData setValue:@"County of Test" forKey:@"County"];
- NSManagedObject *zipCodeData = [NSEntityDescription
- insertNewObjectForEntityForName:@"ZipCodeData"
- inManagedObjectContext:context];
- [zipCodeData setValue:[NSNumber numberWithDouble:1111.00] forKey:@"Income"];
- [zipCodeData setValue:[NSNumber numberWithDouble:22.00] forKey:@"LandArea"];
- [zipCodeData setValue:@"23060" forKey:@"ZipCode"];
- NSError *error;
- if (![context save:&error]) {
- NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
- }
- NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
- NSEntityDescription *entity = [NSEntityDescription
- entityForName:@"CrossReference" inManagedObjectContext:context];
- [fetchRequest setEntity:entity];
- NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
- for (NSManagedObject *info in fetchedObjects) {
- NSLog(@"LocationId: %@", [info valueForKey:@"LocationDataId"]);
- NSManagedObject *details = [info valueForKey:@"details"];
- NSLog(@"ZipId: %@", [details valueForKey:@"ZipCodeDataId"]);
- }
- [fetchRequest release];
- NSManagedObject *crossReference = [NSEntityDescription
- insertNewObjectForEntityForName:@"CrossReference"
- inManagedObjectContext:context];
- [crossReference setValue:locationData forKey:@"location"];
- [crossReference setValue:zipCodeData forKey:@"zipCode"];