尝试使用setResourceValue将标记颜色Blue设置为文件时出错:
var error: NSError? let listofTags = NSWorkspace.sharedWorkspace().fileLabels let theURL:NSURL = NSURL.fileURLWithPath("/Volumes/234567_fr.tif")! var Tag: AnyObject = NSWorkspace.sharedWorkspace().fileLabels[4] // Tag = "Blue" theURL.setResourceValue(Tag,forKey: NSURLTagNamesKey,error: &error) println(error) // Error Domain=NSOsstatusErrorDomain Code=-8050 "The operation Couldn’t be completed. (Osstatus error -8050.)
任何的想法?谢谢您的帮助
解:
1 – setResourceValue的第一个参数必须是NSArray
2 – 令人震惊,但……颜色名称必须是本地化的!
此示例修复了您的错误8050,但如果您的系统语言不是英语,则实际上不会设置颜色标记:
var error: NSError? let theURL:NSURL = NSURL(fileURLWithPath: "/Users/me/tests/z.png")! let tag: AnyObject = NSWorkspace.sharedWorkspace().fileLabels[4] // "Blue" tag let arr = NSArray(object: tag) theURL.setResourceValue(arr,error: &error)
在我的系统(法语)上,这不会设置实际的蓝色标签标签,只会设置包含单词“Blue”的文本标签.
var error: NSError? let theURL:NSURL = NSURL(fileURLWithPath: "/Users/me/tests/z.png")! let arr = NSArray(object: "bleu") // "Blue" translated to french theURL.setResourceValue(arr,error: &error)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。