Last active
September 18, 2015 10:43
-
-
Save YGeorge/6547c8ccb20e67cfbd44 to your computer and use it in GitHub Desktop.
Call bunch of requests (blocks)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
+ (void)deleteDocumentsForFiles:(NSArray *)files forAccount:(NSString *)accountID success:(void (^)())success failure:(void (^)(NSError *error))failure { | |
__block NSInteger successDeleting = 0; | |
__block NSInteger failureDeleting = 0; | |
dispatch_group_t deleteDocumentGroup = dispatch_group_create(); | |
for (YGFile *file in files) { | |
dispatch_group_enter(deleteDocumentGroup); | |
[YGFileService deleteDocument:file.documentID forAccount:accountID success:^{ | |
DDLogVerbose(@"Delete document %@ success", file.documentID); | |
successDeleting++; | |
DDLogVerbose(@"successDeleting %d", successDeleting); | |
dispatch_group_leave(deleteDocumentGroup); | |
} failure:^(NSError *error) { | |
DDLogVerbose(@"Delete file document error - %@", error); | |
failureDeleting++; | |
DDLogVerbose(@"failureDeleting %d", failureDeleting); | |
dispatch_group_leave(deleteDocumentGroup); | |
}]; | |
} | |
dispatch_group_notify(deleteDocumentGroup, dispatch_get_main_queue(), ^{ | |
DDLogVerbose(@"Doc deleting: %d success, %d failure", successDeleting, failureDeleting); | |
if (failureDeleting > 0) { | |
NSError *tempError = [NSError errorWithType:LCErrorTypeTempServerError]; | |
failure(tempError); | |
} | |
else { | |
success(); | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment