Получение тегов Finder из приложения Swift или Objective-C - PullRequest
0 голосов
/ 09 сентября 2018

Используя NSURL API, как я могу определить, какие теги установлены в каталоге? Единственный известный мне API действительно возвращает число, связанное с тегами, но я не уверен, как извлечь конкретные теги из возвращенного значения.

Например, это вернет 4 для каталога B. Мне нужно убедиться, что установлены оба тега Blue и Green.

let url = URL(fileURLWithPath: "/Users/Username/Desktop/Test/B")
let resourceValues = try! url.resourceValues(forKeys: 
      [URLResourceKey.labelNumberKey])
print(resourceValues.labelNumber!) // 4

enter image description here

Я видел, как некоторые используют enum, чтобы отобразить результаты обратно в Swift, но, похоже, он не обрабатывает несколько тегов.

enum LabelColor: Int {
    case none
    case gray
    case green
    case purple
    case blue
    case yellow
    case red
    case orange
}

Так что, похоже, OptionSet будет лучшей реализацией для Swift.

Если кто-то может указать мне на алгоритм, используемый для извлечения тегов из общего числа, это было бы здорово!

...