내 앱의 특정 디렉터리에 있는 모든 파일의 파일 이름 NSArray를 어떻게 얻나요?

StackOverflow https://stackoverflow.com/questions/1272042

문제

내가 하고 싶은 일은 충분히 간단해 보입니다.내 앱의 특정 "디렉토리"에서 파일 이름 배열을 가져옵니다.하지만 NSFileManager 및 NSBundle을 더 많이 사용할수록 더 많은 것을 잃게 됩니다... iPhone Xcode 프로젝트의 특정 디렉터리에 구성된 파일의 파일 이름을 가져오고 싶습니다... 예를 들면 다음과 같습니다.문제의 디렉토리는 "Images"(Xcode의 프로젝트 아이콘 아래에 있는 "Add > New Group"을 사용하여 생성됨)라고 하며 10개의 .png 이미지를 포함합니다.간단한 것 같지만 아무데도 갈 수 없습니다.답변을 찾는 데 도움을 주시면 감사하겠습니다.

큐: 내 앱의 특정 디렉터리에 있는 모든 파일의 파일 이름 NSArray를 어떻게 얻나요?

도움이 되었습니까?

해결책

폴더가 앱 번들의 일부가 되려면 그룹 대신 리소스 그룹 안에 폴더 참조를 만들어야합니다 (Xcode에서 노란색과 달리 파란색 폴더로 표시).

이렇게하려면 Finder에서 폴더를 드래그하고 프롬프트되면 폴더 참조를 선택합니다.

일단 있으면 다음과 같은 것과 함께 폴더의 내용을 얻을 수 있어야합니다.

NSError *error = nil;

NSString *yourFolderPath = [[[NSBundle mainBundle] resourcePath]
                            stringByAppendingPathComponent:@"YourFolder"];

NSArray  *yourFolderContents = [[NSFileManager defaultManager] 
                                contentsOfDirectoryAtPath:yourFolderPath error:&error];

다른 팁

받아 들여진 답변은 몇 년 동안 더 이상 사용되지 않았습니다. 다음을 대신 사용해야합니다.

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

업데이트 : @MacServ는 내가 게시 한 후 허용 된 답변을 업데이트했습니다.

요즘은 이렇게 합니다.

  1. Finder에서 프로젝트 탐색기에 폴더를 끌어다 놓으면 다음 팝업이 표시됩니다.enter image description here
  2. 스크린샷에서 볼 수 있듯이 다음을 선택해야 합니다. 폴더 참조 생성.
  3. 이 게시물의 솔루션에서 지시하는 대로 수행하십시오.내 말은:

    NSError *오류 = nil;

    nsstring *yourfolderpath = [[[nsbundle mainbundle] resourcepath] stringByAppendingPathComponent :@"yourfolder"];

    nsArray *yourfolderContents = [[nsFileManager defaultManager] contentsOfDirectoryAtPath : yourfolderPath 오류 : & 오류];

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top