2012-05-30 83 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]]; 
}