Swift 移动到垃圾箱时的URL书签数据
我使用Swift 移动到垃圾箱时的URL书签数据,swift,macos,cocoa,Swift,Macos,Cocoa,我使用URL书签数据(具有安全范围)。将文件移动到垃圾箱后(可能是在应用程序未运行时),书签将更新。这通常是好的,但是当一个文件被移动到垃圾箱时,我真的想反映这一点并删除我的书签 我能想到的唯一解决方法是存储原始URL,比较它们的绝对字符串,或者检查.Trash 是否有一种(简单的?)方法来检查书签数据现在是否指向垃圾箱?文件管理器如果URL引用垃圾箱中的文件,可以使用这些方法 垃圾箱,这避免了硬编码垃圾箱文件夹路径。这是 汉语中Objective-C码的翻译 到Swift,作为URL的扩
URL
书签数据
(具有安全范围)。将文件移动到垃圾箱后(可能是在应用程序未运行时),书签将更新。这通常是好的,但是当一个文件被移动到垃圾箱时,我真的想反映这一点并删除我的书签
我能想到的唯一解决方法是存储原始URL
,比较它们的绝对字符串
,或者检查.Trash
是否有一种(简单的?)方法来检查
书签数据
现在是否指向垃圾箱?文件管理器
如果URL引用垃圾箱中的文件,可以使用这些方法
垃圾箱,这避免了硬编码垃圾箱文件夹路径。这是
汉语中Objective-C码的翻译
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
}
}
}
这可能会有帮助:@MartinR当然有!