0

我使用泛洪代码预加载我的图像:

NSMutableArray *test_loose_preload = [[NSMutableArray alloc] initWithCapacity:test_loose_array.count];

for (int aniCount = 0; aniCount < test_loose_array.count; aniCount++) {

    UIImage *frameImage = [test_loose_array objectAtIndex:aniCount];
    UIGraphicsBeginImageContext(frameImage.size);
    CGRect rect = CGRectMake(0, 0, frameImage.size.width, frameImage.size.height);
    [frameImage drawInRect:rect];
    UIImage *renderedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [test_loose_preload addObject:renderedImage];

}

test_loose = test_loose_preload;

是否有可能在此块中检查图像是否已经预加载并且不再需要预加载该图像?

感谢您的想法!

4

2 回答 2

0

offtopic:

you could use the for each loop

for (UIImage *frameImage in test_loose_array) {

  UIGraphicsBeginImageContext(frameImage.size);
  ...
  [test_loose_preload addObject:renderedImage];
}
于 2012-11-16T15:40:11.763 回答
0

也许我误解了这个问题,但在我看来,如果您已构建图像并将其填充到您的 test_loose_preload 数组中,则该图像是“预加载的”。我了解到您担心其他线程可能会在您通过数组之前执行相同的工作。

如果是这样,那么您可以通过检查 [test_loose_preload objectAtIndex:aniCount] 来检查这一点,如果该结果不是 nil,则跳过该结果并继续下一个索引。

于 2012-11-16T15:44:52.193 回答