加载多个图像

时间:2012-05-30 02:11:16

标签: iphone ios xcode

我将我的图像保存在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 个答案:

答案 0 :(得分: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]];
}