我使用generateCGImagesAsynchronouslyForTimes做出一些图像,并将它们保存到NSMutableArray
,现在当函数generateCGImagesAsynchronouslyForTimes
结束我希望这个阵列中使用的图像,我怎么能有代码我想exectue毕竟所有的图像已经生成完成。我只是把它放在completionHandler
的代码块中,但我不希望它运行多次,我只是想在这个方法结束后运行一次。等待Xcode的方法来完成
编辑
这是所有里面- (BFTask *)createImage:(NSInteger)someParameter {
AVAssetImageGenerator *imageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:passsedAsset];
[imageGenerator generateCGImagesAsynchronouslyForTimes:times
completionHandler:^(CMTime requestedTime, CGImageRef image, CMTime actualTime,
AVAssetImageGeneratorResult result, NSError *error) {
if (result == AVAssetImageGeneratorSucceeded) {
UIImage *img = [UIImage imageWithCGImage:image];
NSData *imgData = UIImageJPEGRepresentation(img, 1.0);
UIImage *saveImage = [[UIImage alloc] initWithData:imgData];
[mutaleArray addObject:saveImage];
//I get Assigment to read only property error on line below
completionSource.task = saveImage;
}
]};
什么,我应该将其赋值给?
感谢发布,我没有投票顺便说一句,但你会详细说明如何使用螺栓 – iqueqiorio
检查GitHub链接。我在我的手机atm,所以不能做得很好。阅读我的部分被称为“并行任务”。它将向您展示如何创建一个任务数组,然后在整个数组完成处理后拥有一个完成处理程序。 – Fogmeister
下来的选民请留下评论,解释为什么我的答案是不正确的?还是他们只是懦弱? – Fogmeister