Попробуйте с NSInvocationOperation, сделайте синхронный запрос для каждой кнопки изображения ... Передайте кнопку в качестве параметра, что-то вроде этого, я имею в виду ...
Инициируйте очередь операций (возможно, при инициализации):
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
запуск вызова операции для каждой кнопки ...
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(getImageFromURL:)
object:[NSDictionary dictionaryWithObjectsAndKeys:@"http://getMyImage.com/resource.jpg", @"url", button, @"button", nil]];
[queue addOperation:operation];
[operation release];
это может быть ваш getImageFromURL:
селектор
- (void) getImageFromURL:(NSDictionary*)dict
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSURL *url = [NSURL URLFromString:[dict objectForKey:@"url"]];
UIButton *button = [dict objectForKey:@"button"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
UIImage *image = [[UIImage alloc] initWithData:data];
// Finally set the button image and release image ...
[pool drain];
}
Не забудьте освободить очередьна dealloc ...
Надеюсь, это поможет!:)