developer tip

iPhone에서 사용자의 문서 디렉토리를 찾는 가장 좋은 방법은 무엇입니까?

optionbox 2020. 12. 3. 07:47
반응형

iPhone에서 사용자의 문서 디렉토리를 찾는 가장 좋은 방법은 무엇입니까?


Erica Sadun의 iPhone Developer 's Cookbook을 읽고 있는데 질문이 생겼 습니다.

그녀는 책에서 사용자의 Documents 디렉토리를 찾는 방법은 다음과 같은 코드라고 말합니다.

[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

그러나 그것은 약간 부서지기 쉽고 일반적인 Mac 방식과 비슷하지 않습니다.

NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);

하나를 사용하는 특별한 이유가 있습니까?


Objc :

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)

빠른:

var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)

반환 된 배열의 첫 번째 요소가 필요합니다.


다음은 내 프레임 워크에서 사용하는 코드입니다.

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

선호하는 형식 인 URL을 반환하는 NSFileManager 메서드 사용을 고려해야합니다.

let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL

이 방법은 시스템에서 알려진 공통 디렉토리를 찾기위한 것입니다.

요청 된 디렉터리를 식별하는 NSURL 개체의 배열입니다. 디렉토리는 사용자 도메인의 항목이 먼저이고 시스템 도메인의 항목이 마지막으로 도메인 마스크 상수의 순서에 따라 정렬됩니다.


나는 이것을 사용한다

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *zipLocalPath = [documentPath stringByAppendingString:fileName];

신속한 v3에서는 다음 스 니펫을 사용했습니다.

var paths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)

참고 URL : https://stackoverflow.com/questions/272544/whats-the-best-way-to-find-the-users-documents-directory-on-an-iphone

반응형