public struct NSSearchPathDomainMask : OptionSetType { public init(rawValue: UInt) public static var UserDomainMask: NSSearchPathDomainMask { get }...
public struct NSSearchPathDomainMask : OptionSetType {
public init(rawValue: UInt)
public static var UserDomainMask: NSSearchPathDomainMask { get } // user's home directory --- place to install user's personal items
public static var LocalDomainMask: NSSearchPathDomainMask { get } // local to the current machine --- place to install items available to everyone on this machine (/Library)
public static var NetworkDomainMask: NSSearchPathDomainMask { get } // publically available location in the local area network --- place to install items available on the network (/Network)
public static var SystemDomainMask: NSSearchPathDomainMask { get } // provided by Apple, unmodifiable (/System)
public static var AllDomainsMask: NSSearchPathDomainMask { get } // all domains: all of the above and future items
}
在這個enum中列舉了目錄的domain,
UserDomainMask是指/user/<userid>/目錄,
LocalDomainMask,官方文檔說是Local to the current machine—the place to install items available to everyone on this machine.還是不太好理解,應該就是跟UserDomainMask相對的一個概念,UserDomainMask是針對當前用戶的,而LocalDomainMask是針對所有用戶的,比如Library目錄,如果是針對用戶的,就是/user/<userid>/Library,而對所有用戶的就是/Library。
NetworkDomainMaskt是指/Network目錄下的文件夾。
SystemDomainMask是系統目錄,現在的Mac在/System目錄下只有一個Library目錄,這個目錄下包含了系統運行的程式和文件。並且所有的SystemDomain的文件夾都是只讀的。
其實這個enum定義的是domain的概念,不能簡單的理解為某個文件夾下的文件,比如SystemDomainMask中的Application目錄是/Applications,Document目錄是/System/Library/Documentation,其實這就沒什麼意義,因為這個文件夾根本不存在。