You implied that you have the target. Why don't you just call it with the target?
NSURL* urlAddressJSonUrl = [NSURL URLWithString:urlString];
dispatch_async(globalQueue, ^{
NSData *imageData = [NSData dataWithContentsOfURL:urlAddressJSonUrl];
[target performSelectorOnMainThread:@selector(setImage:)
withObject:[UIImage imageWithData:imageData]
waitUntilDone:NO];
});
Or better
NSURL* urlAddressJSonUrl = [NSURL URLWithString:urlString];
dispatch_async(globalQueue, ^{
NSData *imageData = [NSData dataWithContentsOfURL:urlAddressJSonUrl];
dispatch_async(dispatch_get_main_queue(), ^{
[target setImage:[UIImage imageWithData:imageData]];
});
});