【发布时间】:2019-02-14 06:50:05
【问题描述】:
使用NSURL API,我如何确定在目录上设置了哪些标签?我知道的唯一 API 确实返回了一个与标签关联的数字,但我不确定如何从返回的值中提取特定的标签。
例如,这将为目录B 返回4。我需要确定Blue 和Green 标签都已设置。
let url = URL(fileURLWithPath: "/Users/Username/Desktop/Test/B")
let resourceValues = try! url.resourceValues(forKeys:
[URLResourceKey.labelNumberKey])
print(resourceValues.labelNumber!) // 4
我见过一些人使用enum 将结果映射回 Swift,但这似乎无法处理多个标签。
enum LabelColor: Int {
case none
case gray
case green
case purple
case blue
case yellow
case red
case orange
}
因此,OptionSet 似乎是 Swift 的最佳实现。
如果有人能指出用于从总数中提取标签的算法,那就太好了!
【问题讨论】:
-
看
tagNamesKey -
@vadian 这会将本地化的标签名称作为字符串返回。我希望在不同的语言环境下运行时使用数值使其更加健壮。谢谢!