macos - 从 NSItemProvider 获取文件名/路径
问题描述
我的 macOS 共享扩展程序需要图像或视频文件。
我希望能够访问NSItemProvider
对象的文件名(或路径)。
我想我可以itemProvider.loadDataRepresentation()
用来获取媒体的数据。但是我不清楚如何检索文件名/路径。
当我打印 itemProvider 对象时,我得到了这个:
<NSItemProvider: 0x600002998d20> {types = (
"public.jpeg",
"public.file-url",
"public.url"
)}
任何帮助表示赞赏。谢谢
解决方案
弄清楚了。
itemProvider.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil, completionHandler: {
(data, error) in
if let url = URL(dataRepresentation: data as! Data, relativeTo: nil){
let filename = url.lastPathComponent
print(filename)
}
})
推荐阅读
- python - 计算熊猫df中连续列值的数量
- algorithm - 是否有任何类似于压缩值而不是键的数据结构的 Double Array Trie
- c# - 当我尝试使用 MessagingCenter 从另一个页面填充它来通信两个类时,ListView 没有填满
- html - 我将如何实现这种布局?
- laravel - 使用 Laravel 颤振 FCM
- php - 如何在 Laravel 中更新多对多关系中的特定值
- python - 删除 django 模板循环的最后一项的最后一个字符
- c# - 防御无数据
- javascript - 如何将数据从nodejs文件发送到html页面
- java - HTTPClient 在多线程环境中挂起或变慢