2013-06-24 2 views
0

이제 iOS의 특정 이름으로 문서 디렉토리에서 다음 코드를 사용하여 파일을 가져옵니다.iOS의 문서 디렉토리에서 특정 파일 이름으로 검색

NSMutableArray *arrayToSearch = [[NSMutableArray alloc] init]; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSError * error; 

    arrayToSearch = (NSMutableArray *)[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/Manual.txt",documentsDirectory] error:&error]; 

문서 디렉토리에 Manual.txt 파일이 있습니다.

그러나 tableView에는 아무 것도 표시되지 않습니다.

또한 tableView를 새로 고침합니다.

잘못 됐습니까?

+0

예 문서 디렉토리에서 모든 파일 목록을 가져올 수 있기 때문에 확실합니다. –

답변

2

이 방법은 contentsOfDirectoryAtPath:입니다. 메소드 이름을 읽으십시오. 문서의 설명을 읽으십시오. 전달하는 경로는 파일이 아닌 디렉토리를 참조해야합니다.

논리적으로 의미가 없습니다. 특정 파일을 알고 있다면 왜 검색합니까? 배열을 만드는 이유는 무엇입니까?

파일이 있는지 보려면 fileExistsAtPath: 메서드를 NSFileManager으로 사용하십시오.

그냥 다음 배열의 파일 이름을 원하는 경우

는 수행

NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Manual.txt"]; 
[arrayToSearch addObject:filename]; // since the array was pre-allocated 

파일 이름을 만들 stringWithFormat를 사용하지 마십시오. 위와 같이 올바른 NSString 경로 방법을 사용하십시오.

+0

예. 알았다. 하지만 NSMutableArray 함께 사용하고 있습니다. @ [filename]과 함께 사용할 수 있습니까? 형제? –

+0

이전에 실제로 변경할 수있는 변수를 할당 했으므로'[arrayToSearch addObject : filename];'을 수행해야합니다. 내 대답을 업데이트 할게. – rmaddy

관련 문제