如何找到特定文件夹中[[NSBundle mainBundle] bundlePath]
中的图像数...。
例如:/Users/Nag/Library/Application Support/iPhone Simulator/4.2/Applications/4409487C-1035-4329-B38A-B6F21E00FC63/MakeUp_IPhone.app/“ MyFolder ”
最佳答案
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]);
// ---------------
关于objective-c - 我的[[NSBundle mainBundle] bundlePath]中的图像计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7343759/