在我的[[NSBundle mainBundle] bundlePath]中有多少张图片?

6
你如何在特定的“我的文件夹”中查找位于[[NSBundle mainBundle] bundlePath]的图像数量?例如:/Users/Nag/Library/Application Support/iPhone Simulator/4.2/Applications/4409487C-1035-4329-B38A-B6F21E00FC63/MakeUp_IPhone.app/MyFolder
1个回答

10
请查看上面的链接,它们可能会提供解决方案。以下是代码:

http://www.ericd.net/2009/06/iphone-getting-images-from-your-bundle.html

http://www.cocoabuilder.com/archive/cocoa/239638-number-of-images-in-main-bundle-folder-iphone.html

    totalCount = 0;
    NSArray *d = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil];
    for(NSString *s in d)
    {
       if([[s lastPathComponent] hasPrefix:@"image_"]){
       totalCount++;
       }
    }

要从特定文件夹获取图像,请查看此内容:count no.of images

    NSEnumerator *iter = [[NSFileManager defaultManager] directoryEnumeratorAtPath:[[NSBundle mainBundle] bundlePath]];
    int count = 0; // number of images
    for (NSString *path in iter) { // iterate through all files in the bundle
         if ([[path pathExtension] isEqualToString:@"png"]) { // test if the extension is "png"
            count++; // increment the number of images
            UIImage *img = [UIImage imageWithContentsOfFile:path];
            // do other things with the image
        }
    }

另请参阅:

// create the route of localDocumentsFolder
NSArray *filePaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//first use the local documents folder
NSString *docsPath = [NSString stringWithFormat:@"%@/Documents", NSHomeDirectory()];
//then use its bundle, indicating its path
NSString *bundleRoot = [[NSBundle bundleWithPath:docsPath] bundlePath];
//then get its content
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:bundleRoot error:nil];
// this counts the total of jpg images contained in the local document folder of the app
NSArray *onlyJPGs = [dirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self ENDSWITH '.JPG'"]];
// in console tell me how many jpg do I have
NSLog(@"numero de fotos en total: %i", [onlyJPGs count]);
// ---------------

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接