FileManager를 쉽게 설명하기 위한 문서입니다.

    let fileManager = FileManager.default
    let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]

보통 위의 코드처럼 FileManager를 사용할 때, 싱글턴 객체를 이용하여 urls를 통해 for, in의 매개변수들을 사용합니다.
for은 SearchPathDirectory 으로 값을 받고 있으며, in은 SearchPathDomainMask으로 받고있습니다.

####요약하면 for : 폴더 위치, in : 접근제어 라고 보시면 됩니다.

-먼저 FileManager의 위치 권한 SearchPathDomainMask 를 보면 다음과 같이 나뉘어져 있다.

    public struct SearchPathDomainMask : OptionSet {

        public init(rawValue: UInt)

        public static var userDomainMask: FileManager.SearchPathDomainMask { get } // user's home directory --- place to install user's personal items (~)

        public static var localDomainMask: FileManager.SearchPathDomainMask { get } // local to the current machine --- place to install items available to everyone on this machine (/Library)

        public static var networkDomainMask: FileManager.SearchPathDomainMask { get } // publically available location in the local area network --- place to install items available on the network (/Network)

        public static var systemDomainMask: FileManager.SearchPathDomainMask { get } // provided by Apple, unmodifiable (/System)

        public static var allDomainsMask: FileManager.SearchPathDomainMask { get } // all domains: all of the above and future items

##Simulator 실행 결과

    let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
    let documentsURL = fileManager.urls(for: .documentDirectory, in: .allDomainsMask)[0]

##Simulator 실행 불가값

  • localDomainMask
  • networkDomainMask
  • systemDomainMask


View Github