2011-09-07 5 views
8

리소스 폴더의 하위 디렉터리에있는 모든 png 파일의 배열을 가져 오려고합니다. 내 응용 프로그램 리소스 폴더에서 "이미지"라는 폴더를 만들었습니다. 이 폴더에는 표시해야하는 모든 png 파일이 들어 있습니다. 리소스 폴더의 하위 디렉터리 경로 가져 오기

내가 경로를 얻기 위해 노력했던 방법입니다 :

NSString *imagepath = [NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] bundlePath],@"images/"]; 

NSLog(@"Path to Images: %@", imagepath); 

NSArray * paths = [NSBundle pathsForResourcesOfType: @"png" inDirectory:imagepath]; 
NSMutableArray * allImageNames = [[NSMutableArray alloc] init]; 

for (NSString * path in paths) 
{ 
    if ([[path lastPathComponent] hasPrefix: @"AQ"]) 
     continue; 

    [allImageNames addObject: [path lastPathComponent]]; 
} 

나는 경로를 얻을이 방법 같은 .../appname.app/이미지

하지만 난 그런 식으로 작업을 수행하려고하면, 배열은 항상 비어 있습니다. 내가 뭘 잘못하고 있니?

greetz,

+0

이미지 이름이 무엇입니까? 그들은'이미지 .AQ'를 좋아하니? – Nekto

+0

이미지 이름은 "banana_icon.png"와 같습니다. 하지만 AQGridView를 사용하여 모든 파일의 갤러리를 만듭니다. – DevZarak

+0

그럼'[[path lastPathComponent] hasPrefix : @ "AQ"]'를 확인하는 이유는 무엇입니까? – Nekto

답변

26

Zarak 그냥 그것을 해결.

NSBundle *mainBundle = [NSBundle mainBundle]; 
NSArray *pngs = [mainBundle pathsForResourcesOfType:@".png" 
inDirectory:@"random pictures"]; 

NSLog(@"pngs in my dir:%@", pngs); 

디렉토리 구조 : "자원/무작위 그림".

'리소스'에 파일을 추가 할 때 "aded 폴더"에 대한 폴더 참조 만들기를 선택하고 "추가 된 폴더에 대한 그룹 만들기"를 선택하지 않아도됩니다.

important step

건배!

+1

다른 해결책을 사용하여 문제를 해결했지만이 점을 명심하고 다른 프로젝트에서 시도해 보겠습니다. 긴 이야기 만하면 받아 들여집니다. ;) 귀하의 회신을위한 Thx. – DevZarak

+0

나에게 적합하지 않아 PDF 파일이있는 작업 중 폴더가 있는데 사용중인 파일에 액세스하려고합니다 : inWorkPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent : @ "In-Work"]; NSArray * resContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath : inWorkPath 오류 : & 오류]; 그리고 resContents는 nill –

+0

을 반환합니다. 폴더를 프로젝트에 추가 할 때 "폴더 참조 만들기"를 선택 했습니까? @EshwarChaitanya – codrut

관련 문제