typedefNS_OPTIONS(NSUInteger, NSSearchPathDomainMask) {
NSUserDomainMask =1,// user's home directory --- place to install user's personal items (~)
NSLocalDomainMask =2,// local to the current machine --- place to install items available to everyone on this machine (/Library)
NSNetworkDomainMask =4,// publically available location in the local area network --- place to install items available on the network (/Network)
NSSystemDomainMask =8,// provided by Apple, unmodifiable (/System)
NSAllDomainsMask =0x0ffff// all domains: all of the above and future items
};
在这个enum中列举了目录的domain,
NSUserDomainMask是指/user//目录,
NSLocalDomainMask,官方文档说是Local to the current machine—the place to install items available to everyone on this machine.还是不太好理解,应该就是跟NSUserDomainMask相对的一个概念,NSUserDomainMask是针对当前用户的,而NSLocalDomainMask是针对所有用户的,比如Library目录,如果是针对用户的,就是/user//Library,而对所有用户的就是/Library。
NSNetworkDomainMaskt是指/Network目录下的文件夹。
NSSystemDomainMask是系统目录,现在的Mac在/System目录下只有一个Library目录,这个目录下包含了系统运行的程序和文件。并且所有的SystemDomain的文件夹都是只读的。
其实这个enum定义的是domain的概念,不能简单的理解为某个文件夹下的文件,比如NSSystemDomainMask中的Application目录是/Applications,Document目录是/System/Library/Documentation,其实这就没什么意义,因为这个文件夹根本不存在。
网友评论