2011-02-19 2 views
1

내 자원 폴더의 모든 jpg, png, bmp에 액세스해야하지만 다음을 수행하는 은 나에게 jpg를 제공합니다 ... 알고리즘 적으로 잘못 되었습니까? 또는 더 짧고 간단한 구문을 사용하여 한 번에 3 개 모두에 액세스 할 수 있습니까? 당신은 모든 번들 자원을 검색하기 위해 연장 nil을 지정할 수 있습니다 .. paths2 및 paths3에 대한 등등pathsForResourcesOfType을 사용하여 여러 유형의 파일을 얻는 방법

NSMutableArray *paths = [[[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil] mutableCopy]; 
NSMutableArray *paths2 = [[[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:nil] mutableCopy]; 
NSMutableArray *paths3 = [[[NSBundle mainBundle] pathsForResourcesOfType:@"bmp" inDirectory:nil] mutableCopy]; 

for(NSString *filename in paths) 
{ 
    filename = [filename lastPathComponent]; 
    NSLog(@" filename is %@", filename); 
    [filenames addObject:filename]; 
    NSLog(@" filenames array length is now %d", [filenames count]); 
} 

및 ...

답변

1

을 저를 도와주세요. 그런 다음 for 루프에서 [filename pathExtension]을 확인하십시오.

2

@Ole Begemann의 해결책에 대한 문제는 이미지가 아닌 많은 파일을 반복하여 재검토한다는 것입니다. 나는 @ CosmicRabbitMediaInc가 가변 배열과 함께 올바른 방향에 있다고 생각하지만이를 따라 가지 않았다. 따라서 :

NSMutableArray *paths = [NSMutableArray arrayWithArray:[[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:nil]]; 
[paths addObjectsFromArray:[[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:nil]]; 
[paths addObjectsFromArray:[[NSBundle mainBundle] pathsForResourcesOfType:@"bmp" inDirectory:nil]]; 

for(NSString *filename in paths) 
{ 
    filename = [filename lastPathComponent]; 
    NSLog(@" filename is %@", filename); 
    [filenames addObject:filename]; 
    NSLog(@" filenames array length is now %d", [filenames count]); 
} 
관련 문제