-(NSArray*)getData{
__block NSArray *returnData = nil;
if([self internetConnect]){
[self reloadData:^(NSArray* loadData){
returnData = loadData;
}];
}else{
//no problems here
}
return returnData;
}
-(NSArray*)getData{
__block NSArray *returnData = nil;
if([self internetConnect]){
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void){
[self reloadData:^(NSArray* loadData){
returnData = loadData;
}];
});
}else{
}
return returnData;
}
+(dispatch_queue_t)sharedConcurrentQueue {
static dispatch_queue_t queue = nil;
static dispatch_once_t onceToken = 0;
dispatch_once(&onceToken, ^{
queue = dispatch_queue_create("MyQueueName", DISPATCH_QUEUE_CONCURRENT);
});
return queue;
}
-(void)testFunc {
dispatch_async([MyClass sharedConcurrentQueue], ^(void){
// Whatever you want to start and go further, without waiting
});
dispatch_sync([MyClass sharedConcurrentQueue], ^(void){
// Whatever you want to run and wait for completion
});
}
Find more questions by tags Objective-C