图像缓存iphone

时间:2011-07-18 12:46:56

标签: iphone xcode caching uiimage

这是我的代码的一部分。我正在使用asyncImageView。一切都很好用。但现在我想在iphone中保存路径中的所有图像。我知道我必须使用NSFileManager但在哪里? 编辑:现在我尝试使用我的代码但是当我在我的iphone上编译时没有任何保存

// Configure the cell.

NSDictionary *dico = [self.pseudoOnline objectAtIndex:indexPath.row];
cell.pseudo.text = [dico objectForKey:@"pseudo"];
cell.sexe.text    = [dico objectForKey:@"sexe"];
cell.age.text     = [dico objectForKey:@"age"];


UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[dico objectForKey:@"photo"]]]];  


NSString *deskTopDir = @"/Users/***/Desktop/imagesOnline";



NSString *nomPhoto = [[cell.pseudo text]stringByReplacingOccurrencesOfString:@"\n" withString:@""];;

NSLog(@"pseudo%@",nomPhoto);



NSString *jpegFilePath = [NSString stringWithFormat:@"%@/%@.jpeg",deskTopDir,nomPhoto];

NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(image, 0.5f)]; quality
[data2 writeToFile:jpegFilePath atomically:YES];

NSLog(@"image %@",jpegFilePath);

[image release];



CGRect frame;

frame.size.width=45; frame.size.height=43;

frame.origin.x=-5; frame.origin.y=0;

asyncImageView *asyncImage = [[[asyncImageView alloc] initWithFrame:frame] autorelease];

asyncImage.tag =999;


[asyncImage loadImageFromURL:[NSURL URLWithString:[dico objectForKey:@"photo"]]];
[cell.contentView addSubview:asyncImage];



return cell;

所以现在它的工作原理我可以下载所有图片。但现在我想加载它们

1 个答案:

答案 0 :(得分:0)

我不确定asyncImageView是什么,但它似乎可以获得一张图片。 如果它以您的代码所暗示的方式获取图像,则可以在{...}之后立即调用NSFileManger方法调用。

 [cell.contentView addSubview:asyncImage];

另一方面,如果asyncImageView异步提取图像(顾名思义),那么您应该将NSFileManager方法调用放在asyncImageView's回调委托中。

基本上,只要您实际拥有图像,就可以保存图像。