NSOperationQueue приоритет работы - PullRequest
0 голосов
/ 14 июля 2011

У меня проблема с операциями.Когда я добавляю операции в 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];
}

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

1 Ответ

0 голосов
/ 11 августа 2011

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

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

...