mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-01-12 22:51:50 +08:00
Implemented connectionBlock property on RKRelationshipConnectionOperation for tracking connection status synchronously
This commit is contained in:
@@ -218,14 +218,13 @@ extern NSString * const RKObjectMappingNestingAttributeKeyName;
|
||||
|
||||
for (RKConnectionDescription *connection in connections) {
|
||||
RKRelationshipConnectionOperation *operation = [[RKRelationshipConnectionOperation alloc] initWithManagedObject:mappingOperation.destinationObject connection:connection managedObjectCache:self.managedObjectCache];
|
||||
__weak RKRelationshipConnectionOperation *weakOperation = operation;
|
||||
[operation setCompletionBlock:^{
|
||||
if (weakOperation.connectedValue) {
|
||||
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didConnectRelationship:withValue:usingMapping:)]) {
|
||||
[mappingOperation.delegate mappingOperation:mappingOperation didConnectRelationship:connection.relationship toValue:weakOperation.connectedValue usingConnection:connection];
|
||||
[operation setConnectionBlock:^(RKRelationshipConnectionOperation *operation, id connectedValue) {
|
||||
if (connectedValue) {
|
||||
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didConnectRelationship:toValue:usingConnection:)]) {
|
||||
[mappingOperation.delegate mappingOperation:mappingOperation didConnectRelationship:connection.relationship toValue:connectedValue usingConnection:connection];
|
||||
}
|
||||
} else {
|
||||
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didFailToConnectRelationship:usingMapping:)]) {
|
||||
if ([mappingOperation.delegate respondsToSelector:@selector(mappingOperation:didFailToConnectRelationship:usingConnection:)]) {
|
||||
[mappingOperation.delegate mappingOperation:mappingOperation didFailToConnectRelationship:connection.relationship usingConnection:connection];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user