如何在[[NSBundle mainBundle] bundlePath]
特定的文件夹中找到图像数量....
例如:/ Users / Nag / Library / Application Support / iPhone Simulator / 4.2 / Applications / 4409487C-1035-4329-B38A-B6F21E00FC63 / MakeUp_IPhone.app /“ MyFolder ”
答案 0 :(得分: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]);
// ---------------