为什么createDirectoryAtPath的属性不起作用

时间:2012-10-12 10:26:15

标签: objective-c macos cocoa

在OS X桌面应用程序中

NSFileManager *manager = [NSFileManager defaultManager];

NSDictionary *dirMeta = [NSDictionary dictionaryWithObjectsAndKeys:@"jack", @"creator", nil];
NSLog(@"%@", [dirMeta objectForKey:@"creator"]);//output jack

[manager createDirectoryAtPath:@"/Users/loki/Desktop/fromCap" withIntermediateDirectories:YES attributes:dirMeta error:NULL];

NSDictionary *attri2 = [manager attributesOfItemAtPath:@"/User/loki/Desktop/fromCap" error:nil];
NSLog(@"value is %@", [attri2 objectForKey:@"creator"]);//output null

我是否错误地使用了createDirectoryAtPath? 为什么attri2没有从目录中获取任何数据?

1 个答案:

答案 0 :(得分:1)

attributes 字典用于指定新目录/文件的文件系统属性:

  

attributes新目录的文件属性和任何新目录   创建了中间目录。您可以设置所有者和组   数字,文件权限和修改日期。如果指定nil   对于此参数或省略特定值,一个或多个默认值   如讨论中所述使用值。有关您的钥匙列表   可以在此词典中包含,请参阅“常量”部分列出   全局常量用作属性字典中的键。一些   密钥,例如NSFileHFSCreatorCode和NSFileHFSTypeCode,不会   适用于目录。

它们不用于附加任意元数据。您认为这个元数据在哪里存储?