我的操作有问题。当我向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];
}
如果某些操作已经提前执行 - 结果添加到数组。但我需要按照我添加它们的顺序执行操作。请帮忙..
答案 0 :(得分:0)
使用[NSOperationQueue setMaxConcurrentOperationCount:1]
方法只允许一次运行一个操作,从而有效地在另一个线程上创建一个串行队列。
如果您的代码依赖于以特定顺序运行的操作(在多线程中,首先不是真正好的设计),为什么不将一个字典数组传递给单个操作,那么下载所有图像并以委托方法返回图像数组?