문서 디렉토리 (또는 기타 유사한 디렉토리)에 대한 액세스 권한을 얻을 수있는 표준 방법과 같은 코드는 다음
이
NSArray *URLs = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSURL *documentsURL = URLs[0];
의 주요 차이점은 다음과 같습니다
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = paths[0];
이하고 비슷합니다 첫 번째 경로는 NSString
이고 두 번째 경로는 NSURL
경로를 제공합니다.
다른 방법
을 수행하여 사용할 수 있습니다 항상 존재하기 때문에 당신은 문서 디렉토리
NO
를 전달할 수 있습니다
NSURL *documentsURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
. 응용 프로그램 지원 디렉토리는 기본적으로 존재하지 않으므로 YES
을 전달해야합니다. 그리고 이상적으로는 nil
을 에러로 넘겨서는 안되며, 따라서 메소드 호출이 nil
을 반환하면 어떤 일이 일어 났는지 알 수 있습니다.
이러한 세 가지 방법 중 하나가 작동합니다. 경로를 문자열로 사용하려면 1을 사용하십시오. URL로 사용하려면 3rd를 사용하십시오. 두 개 이상의 도메인을 전달할 필요가 거의없는 경우 2nd를 사용하십시오.
애플의 문서에서 : NSFileManager 메소드 URLsForDirectory : inDomains와 URLForDirectory : inDomain : appropriateForURL : create : error :를 사용하는 것을 고려해야합니다. 선호하는 형식 인 URL을 반환합니다. " – edelaney05
URL을 원한다면 사실입니다. 경로를 NSString으로 사용하려면 게시 한 항목이 좋습니다. – rmaddy
@ edelaney05 업데이트 된 답변보기 – rmaddy