我想让我的代码更好一些。
这是我的阵列:
//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"]];
我的所有图片都在我资源中的图片文件夹中。
有没有办法从该文件夹中的所有图像自动创建数组?
答案 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: