如何获取图像的路径 目标-C.



我想调用来自不同文件夹的图像,请您帮助我实现这一点;

我的文件夹有这个结构:

文件夹1

  file1
     image1.jpg
  file2
     image2.jpg
  file3
     image3.jpg

文件夹2 ....

在每个文件%d内,我有一个图像%.jpg

我想循环调用我的图像,

 for (i = 1; i > image; i++)
{
    NSString *image = [NSString stringWithFormat:@"image%d.jpg", i];

但我的问题是如何进入文件夹并获取图像

我可以有这样的东西吗:

 stringWithFormat:@"Folder%d/File%d/image%d" ofType:@"jpg"

最好的方法是什么?

提前感谢!

这里有一些有用的代码片段对我有用。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *mapDirPath = [documentsDirectory stringByAppendingPathComponent:@"/MapCache"];

在文档目录中创建一个目录

NSError* error;
if (![[NSFileManager defaultManager] fileExistsAtPath:mapDirPath])
    [[NSFileManager defaultManager] createDirectoryAtPath:mapDirPath withIntermediateDirectories:NO attributes:nil error:&error];

加载图像

NSString *filePath = [self.localImagePath stringByAppendingPathComponent: key];
if ( [[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
    UIImage* image = [UIImage imageWithContentsOfFile:filePath];
    return image;
}

编写图像

[[NSFileManager defaultManager] createFileAtPath:filePath contents:remoteData attributes:nil];

希望有帮助

当然,如果您正在从捆绑包中读取图像,则需要此图像 [[NSBundle mainBundle] pathForResource: @"filename" ofType:@"png" directory: @"directory1"]

是的,这就是我会这样做的。

for (f = 1; f <= numberOfFolders; i++) {
    for (i = 1; i <= numberOfImages; i++) {
        NSString* file = [NSString stringWithFormat: @".../Folder%d/File%d/image%d.jpg", f, i, i];
        NSImage* image = [NSImage imageNamed: file];
        // Do something with the image
    }
}

注意:我不知道文件夹1/文件夹2在哪里...等等,所以我在代码上使用了".../"。请务必适当地填充该部分。

迭代文件夹和图像,将图像路径附加到库路径:

NSString * libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
for (NSUInteger f = 1; f <= numFolders; i++) {
    for (NSUInteger i = 1; i <= numImages; i++) {
        // Create the image path
        NSString * imagePath = [NSString stringWithFormat:@"%@/Folder%d/File%d/image%d.jpg", libraryPath, f, i, i];
        // Check if file exists
        if ( [[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
            UIImage * image = [UIImage imageWithContentsOfFile:imagePath];
            // Use image...
        }
        else {
            NSLog(@"Image not found.");
        }
    }
}

最新更新