NSOperationQueue操作优先级

时间:2011-07-14 08:55:25

标签: objective-c cocoa-touch 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];
}

如果某些操作已经提前执行 - 结果添加到数组。但我需要按照我添加它们的顺序执行操作。请帮忙..

1 个答案:

答案 0 :(得分:0)

使用[NSOperationQueue setMaxConcurrentOperationCount:1]方法只允许一次运行一个操作,从而有效地在另一个线程上创建一个串行队列。

如果您的代码依赖于以特定顺序运行的操作(在多线程中,首先不是真正好的设计),为什么不将一个字典数组传递给单个操作,那么下载所有图像并以委托方法返回图像数组?