macos – setResourceValue NSURLTagNamesKey错误
发布时间:2020-12-14 02:23:36 所属栏目:百科 来源:网络整理
导读:尝试使用setResourceValue将标记颜色Blue设置为文件时出错: var error: NSError?let listofTags = NSWorkspace.sharedWorkspace().fileLabelslet theURL:NSURL = NSURL.fileURLWithPath("/Volumes/234567_fr.tif")!var Tag: AnyObject = NSWorkspace.shared
尝试使用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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |