Convert RKConnectionMapping into a subclass of RKPropertyMapping. Add delegate callback for tracking the connection of relationships.

This commit is contained in:
Blake Watters
2012-09-29 17:49:13 -04:00
parent 0539aeb45e
commit 4c401de6bf
6 changed files with 82 additions and 68 deletions

View File

@@ -149,10 +149,19 @@ extern NSString * const RKObjectMappingNestingAttributeKeyName;
RKRelationshipConnectionOperation *operation = [[RKRelationshipConnectionOperation alloc] initWithManagedObject:mappingOperation.destinationObject
connectionMapping:connectionMapping
managedObjectCache:self.managedObjectCache];
// TODO: This should really be done using dependencies...
if (self.operationQueue) {
[self.operationQueue addOperation:operation];
[operation setCompletionBlock:^{
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didConnectRelationship:usingMapping:)]) {
[mappingOperation.delegate mappingOperation:mappingOperation didConnectRelationship:connectionMapping.relationship usingMapping:connectionMapping];
}
}];
} else {
[operation start];
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didConnectRelationship:usingMapping:)]) {
[mappingOperation.delegate mappingOperation:mappingOperation didConnectRelationship:connectionMapping.relationship usingMapping:connectionMapping];
}
}
}
}