Приоритет операции NSOperationQueue

У меня проблема с операциями. Когда я добавляю операции в NSOperationQueue и они выполняются, у меня есть метод, который добавляет результат в массив. Это мой метод:

- (void)loadPostImageWithDictionary:(NSDictionary*)dict
{
NSData *tmpImageData = [[NSData alloc] initWithContentsOfURL:
                        [NSURL URLWithString: [dict   
    objectForKey:@"picture"]]];
UIImage *image=[[UIImage alloc] initWithData:tmpImageData]; 
[userPostImage addObject:image];
[image release];
}

А если какая-то операция выполнена раньше - результат добавляется в массив. Но мне нужно, чтобы операции выполнялись в том порядке, в котором я их добавил. Пожалуйста помоги..


person LightNight    schedule 14.07.2011    source источник
comment
Решил это, добавив элементы в NSDictionary.   -  person LightNight    schedule 14.07.2011


Ответы (1)


используйте метод [NSOperationQueue setMaxConcurrentOperationCount:1], чтобы разрешить выполнение только одной операции за раз, эффективно создавая последовательную очередь в другом потоке.

если ваш код зависит от операций, выполняемых в определенном порядке (что в многопоточности, в первую очередь, не очень хороший дизайн), почему бы вам просто не передать массив словарей одной операции, которая загружает все images и возвращает массив изображений в методе делегата?

person Daniel Byon    schedule 11.08.2011