从文件夹中的图像创建数组?

时间:2011-09-19 23:36:11

标签: iphone ios

我想让我的代码更好一些。

这是我的阵列:

//All images - Add images to the queue
imagesQueue = [[NSMutableArray alloc] init];
[imagesQueue addObject:[UIImage imageNamed:@"climbing_001.jpg"]];
[imagesQueue addObject:[UIImage imageNamed:@"climbing_002.jpg"]];
[imagesQueue addObject:[UIImage imageNamed:@"climbing_003.jpg"]];
[imagesQueue addObject:[UIImage imageNamed:@"climbing_004.jpg"]];

我的所有图片都在我资源中的图片文件夹中。

有没有办法从该文件夹中的所有图像自动创建数组?

2 个答案:

答案 0 :(得分:3)

NSBundle有很多方法可以提供帮助。一个例子:

NSArray* imagePaths = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:imagesFolder];

imagesQueue = [[NSMutableArray alloc] initWithCapacity:imagePaths.count];
for (NSString* path in imagePaths)
{
    [imagesQueue addObject:[UIImage imageWithContentsOfFile:path]];
}

答案 1 :(得分:2)

使用NSFileManager methods发现目录的内容。

使用NSBundle的{​​{1}}方法获取图片所在资源文件夹的这条指定路径,或使用resourcePath等方法直接获取这些文件的路径。

但我不确定您的资源目录内容的代码是否正确。最好的解决方案可能是仍然在代码中设置图像的名称(而不是迭代到文件夹内容中),并使用循环设置图像:

pathsForResourcesOfType:inDirectory: