| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- //
- // JDProgressHUD.m
- // kneet2
- //
- // Created by Jason Lee on 10/5/15.
- // Copyright © 2015 ntels. All rights reserved.
- //
- #import "JDObject.h"
- #import "JDProgressHUD.h"
- @interface JDProgressHUD () {
- BOOL useAnimation;
- id targetForExecution;
- id objectForExecution;
- }
- @property (copy) JDFacadeCompletionCallBackHandler completionBlock;
- @property (assign) BOOL taskInProgress;
- @property (atomic, strong) NSTimer *graceTimer;
- @property (assign) float graceTime;
- @end
- @implementation JDProgressHUD
- - (void)showLoadingWhileExecutingBlock:(dispatch_block_t)block {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- [self showLoadingWhileExecutingBlock:block onQueue:queue completionBlock:NULL];
- }
- - (void)showLoadingWhileExecutingBlock:(dispatch_block_t)block completionHandler:(JDFacadeCompletionCallBackHandler)handler {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- [self showLoadingWhileExecutingBlock:block onQueue:queue completionBlock:handler];
- }
- - (void)showLoadingWhileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue completionBlock:(JDFacadeCompletionCallBackHandler)completion {
-
- self.taskInProgress = YES;
- self.completionBlock = completion;
- dispatch_async(queue, ^(void) {
- block();
- dispatch_async(dispatch_get_main_queue(), ^(void) {
- [self cleanUp];
- });
- });
- [self showInView:[CommonUtil topView]];
- }
- - (void)cleanUp {
- _taskInProgress = NO;
- #if !__has_feature(objc_arc)
- [targetForExecution release];
- [objectForExecution release];
- #else
- targetForExecution = nil;
- objectForExecution = nil;
- #endif
- [self dismissAnimated:YES];
-
- if (self.completionBlock) {
- self.completionBlock();
- self.completionBlock = NULL;
- }
- }
- //
- //- (void)dismissAnimated:(BOOL)animated {
- // [super dismissAnimated:animated];
- //
- //
- //}
- @end
|