2012-05-30 84 views
0

林救了我的NSDocumentsDirectory图像与此:加载多个图像

for (int i = 0; i < info.count; i++) { 
    NSLog(@"%@", [info objectAtIndex:i]); 
    NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"oneSlotImages%d.png", i]]; 
    ALAssetRepresentation *rep = [[info objectAtIndex: i] defaultRepresentation]; 
    UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]]; 
    NSData *imageData = UIImagePNGRepresentation(image); 
    [imageData writeToFile:savedImagePath atomically:YES];  
} 

有困难的进出口它们加载到一个数组。我在网上搜索过这个。 可以这样使用NSDocumentsDirectory

for(int i = 1; i <= 21; i++) 
{ 
    [images addObject:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"Images%d.png", i] ofType:@"jpg"]]]; 
} 

回答

1

这是你的实际代码? 如果是这样的话,至少有两个问题。 首先,保存和加载中的文件名略有不同。 其次,您从包中加载图片,而不是从文档目录加载图片。

你会想加载它们这样?

另外要注意的是,如果你有20幅影像是充分水库的照片,然后加载它们在UIImages数组可能是一个可怕的想法。它可能会因缺少内存而崩溃。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask ,YES); 
NSString *documentsDir = [paths objectAtIndex:0]; 
for(int i = 1; i <= 21; i++) 
{ 
    NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"oneSlotImages%d.png", i]]; 
    [images addObject:[UIImage imageWithContentsOfFile:savedImagePath]]; 
}