解决方法
NSURL对象具有密钥NSURLTagNamesKey的资源.该值是一个字符串数组.
let url = NSURL(fileURLWithPath: "/Path/to/file.ext") var resource : AnyObject? do { try url.getResourceValue(&resource,forKey: NSURLTagNamesKey) var tags : [String] if resource == nil { tags = [String]() } else { tags = resource as! [String] } print(tags) tags += ["Foo"] try url.setResourceValue(tags,forKey: NSURLTagNamesKey) } catch let error as NSError { print(error) }
Swift 3版本有点不同.在URL中,tagNames属性是get-only,因此有必要将URL转换为Foundation NSURL
var url = URL(fileURLWithPath: "/Path/to/file.ext") do { let resourceValues = try url.resourceValues(forKeys: [.tagNamesKey]) var tags : [String] if let tagNames = resourceValues.tagNames { tags = tagNames } else { tags = [String]() } tags += ["Foo"] try (url as NSURL).setResourceValue(tags,forKey: .tagNamesKey) } catch { print(error) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。