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"]]];
}
4

1 に答える 1

1

これはあなたの実際のコードですか?この場合、(少なくとも)2つの問題があります。まず、ファイル名は保存と読み込みが少し異なります。次に、ドキュメントディレクトリからではなく、バンドルから画像をロードします。

この方法でそれらをロードしますか?

また、フル解像度の写真である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]];
}
于 2012-05-30T02:15:43.187 に答える