var error: NSError?let listofTags = NSWorkspace.shareDWorkspace().fileLabelslet 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" taglet 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 frenchtheURL.setResourceValue(arr,error: &error)总结
以上是内存溢出为你收集整理的macos – setResourceValue NSURLTagNamesKey错误全部内容,希望文章能够帮你解决macos – setResourceValue NSURLTagNamesKey错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)