从一系列网址下载和写入图像崩溃iPad

时间:2011-07-31 17:42:09

标签: iphone objective-c uiimage saving-data data-retrieval

我正在使用以下代码在单独的线程中将图像写入我的应用程序目录

for (int j =0; j<[sorted count]; j++) {
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[sorted objectAtIndex:j]]];
    UIImage *image = [UIImage imageWithData:data];
    if (image!=nil) {
        NSLog(@"%@",[sorted objectAtIndex:j]);
        [images addObject:image];
    }
}

for (int k=0;k<[images count];k++)
{
    NSString *temp = [[sorted objectAtIndex:k]lastPathComponent];
    NSString *imagePath = [dataPath stringByAppendingPathComponent:temp];
    NSData *data = UIImageJPEGRepresentation([images objectAtIndex:k], 1.0f);
    [data writeToFile:imagePath atomically:YES];

}

但奇怪的是,最后两张图片没有被写入 我已经尝试了所有东西,但似乎没有用。 有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

不确定是什么原因导致您的问题,但UIKit不是线程安全的,所以这可能是原因。您可以尝试在主线程上执行代码以解决问题(并检查它是否正确),然后,如果我的猜测是正确的,请寻找解决方法。

在寻找解决方法时,performSelector:onMainThread:可能有所帮助。