본문 바로가기

프로그래밍/iOS

FileManager

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


Declaration

class FileManager : NSObject

Overview

파일 매니저 오브젝트를 사용하면 파일 시스템의 컨텐츠를 검사하고 변경할 수 있다. FileManager 클래스는 대부분의 file-related manipulations 타입에 적합한 공유 파일 매니저 오브젝트에 대한 편리한 액세스를 제공한다. 파일 매니저 오브젝트는 일반적으로 파일 시스템과의 상호 작용을 하는 기본적인 모드이다. 이를 사용하여 파일과 디렉터리를 찾고, 만들고, 복사하고, 이동한다. 또한 파일 또는 디렉토리에 대한 정보를 얻거나 일부 속성을 변경하는 데 사용한다.

파일 위치를 지정할 때 NSURL 또는 NSString 오브젝트를 사용할 수 있다. NSURL 클래스를 사용하여 파일 시스템 아이템을 지정하는 것이 좋다. 왜냐하면 URL은 경로 정보를 내부적으로 보다 효율적인 표현으로 변환하는 작업이 추가되기 때문이다. 별칭과 유사하고 나중에 파일이나 디렉토리를 찾는 더 확실한 방법을 제공하는 NSURL 오브젝트에서 북마크를 얻을 수도 있다.

파일 또는 디렉터리를 이동, 복사, 연결 또는 제거하는 경우 파일 매니저 오브젝트와 함께 델리게이트를 사용하여 해당 작업을 관리 할 수 있다. 델리게이트의 역할은 작업을 확인하고 오류 발생시 진행할지 여부를 결정하는 것이다. macOS 10.7 이상에서 델리게이트는 FileManagerDelegate 프로토콜을 준수해야 한다.

iOS 5.0 이상 및 macOS 10.7 이상에서 FileManager에는 iCloud에 저장된 항목을 관리하는 방법이 포함되어 있다. 클라우드 스토리지 태그가 지정된 파일 및 디렉토리는 iCloud에 동기화되어 사용자의 iOS 기기 및 Macintosh 컴퓨터에서 사용할 수 있다. 한 위치의 항목에 대한 변경 사항은 항목이 동기화 상태를 유지하도록 다른 모든 위치로 전파된다.

Threading Considerations

공유 FileManager 오브젝트의 메서드는 여러 스레드에서 안전하게 호출 할 수 있다. 그러나 델리게이트를 사용하여 이동, 복사, 제거 및 연결 작업의 상태에 대한 알림을 받는 경우 파일 매니저 오브젝트의 고유한 인스턴스를 만들고 해당 오브젝트에 델리게이트를 할당 한 다음 해당 파일 매니저를 사용하여 작업을 시작해야 한다.

'프로그래밍 > iOS' 카테고리의 다른 글

File System Programming Guide (2) - File System Basics  (0) 2021.01.07
File System Programming Guide (1) - Introduction  (0) 2021.01.07
Filling a Table with Data  (0) 2021.01.05
UITableView  (0) 2021.01.05
MVVM(Model-View-ViewModel) 패턴  (0) 2021.01.01