Skip to content

Instantly share code, notes, and snippets.

@DevAlloy
Last active August 29, 2015 14:23
Show Gist options
  • Save DevAlloy/c59a0e40dbd0fd0e9c52 to your computer and use it in GitHub Desktop.
Save DevAlloy/c59a0e40dbd0fd0e9c52 to your computer and use it in GitHub Desktop.
RDNCluster mapping
+ (EKManagedObjectMapping *)objectMapping {
return [EKManagedObjectMapping mappingForEntityName:NSStringFromClass(self) withBlock:^(EKManagedObjectMapping *mapping) {
mapping.primaryKey = @"clusterId";
[mapping mapPropertiesFromArray:@[@"title"]];
[mapping mapPropertiesFromDictionary:@{
@"id" : @"clusterId"
}];
[mapping mapKeyPath:@"related" toProperty:@"childClusters" withValueBlock:^id(NSString *key, NSArray * relatedArray, NSManagedObjectContext *context) {
EKManagedObjectMapping *clusterMapping = [RDNCluster relatedObjectMapping];
NSArray *clusters = [EKManagedObjectMapper arrayOfObjectsFromExternalRepresentation:relatedArray
withMapping:clusterMapping
inManagedObjectContext:context];
return [NSOrderedSet orderedSetWithArray:clusters];
}];
}];
}
+ (EKManagedObjectMapping *)relatedObjectMapping {
return [EKManagedObjectMapping mappingForEntityName:NSStringFromClass(self) withBlock:^(EKManagedObjectMapping *mapping) {
mapping.primaryKey = @"clusterId";
[mapping mapPropertiesFromArray:@[@"title"]];
[mapping mapPropertiesFromDictionary:@{
@"id" : @"clusterId"
}];
}];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment