移动到垃圾箱时的URL书签数据

时间:2018-04-24 14:35:46

标签: swift macos cocoa

我使用select cols from tables where cols in(@MultiValueParameterName) URL(具有安全范围)。将文件移动到废纸篓后(可能是在App未运行时),书签会更新。这通常很好,但是当文件被移动到垃圾箱时,我真的想反映并删除我的书签。

我能想到解决问题的唯一方法是存储原始bookmark data并比较他们的URL或检查absoluteString

是否有(简单?)方式检查.Trash现在是否指向垃圾箱?

1 个答案:

答案 0 :(得分:4)

如果URL引用的文件中可以使用

FileManager方法 垃圾,这可以避免硬编码垃圾文件夹路径。这是

中Objective-C代码的翻译

到Swift,作为URL的扩展名:

extension URL {

    func inTrashFolder() -> Bool {
        do {
            let fm = FileManager.default
            let trashFolder = try fm.url(for: .trashDirectory, in: [], appropriateFor: self, create: false)
            var relationShip = FileManager.URLRelationship.other
            try fm.getRelationship(&relationShip, ofDirectoryAt: trashFolder, toItemAt: self)
            return relationShip == .contains
        } catch {
            return false
        }
    }
}