我在" ProjectImages"中的图像很少。文件夹,并希望从上面的文件夹中检索图像文件名并将其存储在数组中,然后我想提取这些图像文件的扩展名并将其存储在另一个数组中。我能够从文件夹中检索图像文件名并提取扩展名,但我不知道如何将提取的文件名存储在另一个数组中。以下是代码
//get image name from the folder
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *directory = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"ProjectImages"];
NSArray *files=[fileMgr contentsOfDirectoryAtPath:directory error:&error];
//extract the extension
NSString *imageNames=nil;
for (NSString *name in files) {
if (!imageNames) imageNames = [[name lastPathComponent] stringByDeletingPathExtension];
else imageNames = [imageNames stringByAppendingFormat:@" %@",[[name lastPathComponent] stringByDeletingPathExtension]];
}
NSLog(@"%@",imageNames); --> This returns one single name with all the image name, which i don't want, instead i want to store each extracted file name in array and wanted to compare the string entered by the user with this array. how to do it ?
答案 0 :(得分:1)
You are not storing image name in array
Try this way
//get image name from the folder
NSError *error;
NSFileManager *fileMgr = [NSFileManager defaultManager];
NSString *directory = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"ProjectImages"];
NSArray *files=[fileMgr contentsOfDirectoryAtPath:directory error:&error];
//extract the extension
NSMutableArray *array = [[NSMutableArray alloc]init];
for (NSString *name in files) {
NSString imageName = [[name lastPathComponent] stringByDeletingPathExtension];
if ([array indexOfObject:imageName inRange:NSMakeRang(0,[array count])]!=NSNotFound){
//duplicate
}
else
{
[array addObject:imageName];
}
}
NSLog(@"%@",array);