iOS

[iOS] FileManager 공식 문서 번역

Kim_Baechu 2022. 9. 29. 20:07

파일매니저에 대해서 공부하기 전에 아래 두 글을 꼭 보시길 추천합니다.

1. [iOS] File System Basics 공식문서 번역

2. [iOS] Accessing Files and Directories 공식문서 번역

 

공식문서

https://developer.apple.com/documentation/foundation/filemanager

FileManager

파일 시스템의 컨텐츠에 대한 편리한 인터페이스 및 파일 시스템과의 상호 작용의 주요 수단.

 

FileManager를 사용하면 파일 시스템의 내용을 검사하고 변경할 수 있습니다.

FileManager 클래스는 대부분의 파일과 관련된 조작에 적합한 shared FileManager에 대한 편리한 액세스를 제공합니다.

FileManager는 일반적으로 파일 시스템과의 기본 상호 작용 모드입니다.

이를 사용하여 파일 및 디렉토리를 찾고, 만들고, 복사하고, 이동할 수 있습니다.

또한 파일 또는 디렉터리에 대한 정보를 가져오거나 일부 속성을 변경하는 데 사용합니다.

 

파일 위치를 지정할 때 NSURL 또는 NSString를 사용할 수 있습니다.

URL이 내부적으로 경로 정보를 더 효율적인 표현으로 변환할 수 있기 때문에 일반적으로 파일 시스템 항목을 지정하는 데 NSURL 클래스를 사용하는 것이 선호됩니다.

NSURL 개체에서 bookmark(책갈피)를 가져올 수도 있습니다. 이 책갈피는 alias과 유사하며 나중에 파일이나 디렉터리를 더 확실하게 찾을 수 있습니다.

 

파일 또는 디렉토리를 이동, 복사, 연결 또는 제거하는 경우 파일 FileManager와 함께 delegate를 사용하여 해당 작업을 관리할 수 있습니다.

delegate의 역할은 작업을 확인하고 오류가 발생했을 때 계속할지 여부를 결정하는 것입니다.

macOS 10.7 이상에서는 delegate가 FileManagerDelegate 프로토콜을 준수해야 합니다.

iOS 5.0 이상 및 macOS 10.7 이상에서는 FileManager에 iCloud에 저장된 항목을 관리하는 방법이 포함되어 있습니다.

클라우드 저장소로 태그된 파일 및 디렉터리는 사용자의 iOS 장치와 Macintosh 컴퓨터에서 사용할 수 있도록 iCloud에 동기화됩니다.

한 위치의 항목에 대한 변경 내용은 항목이 동기화되도록 다른 모든 위치로 전파됩니다.

 

Threading Considerations

shared FileManager의 메서드는 여러 스레드에서 안전하게 호출할 수 있습니다.

그러나 delegate를 사용하여 이동, 복사, 제거 및 링크 작업의 상태에 대한 알림을 받는 경우 FileManager의 고유한 인스턴스를 만들고 해당 object에 delegate를 할당한 다음 해당 FileManager를 사용하여 작업을 시작해야 합니다.