OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 NSItemProviderReading 时如何检索已删除文档的 URL lastPathComponent [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:46
标题: ios - 使用 NSItemProviderReading 时如何检索已删除文档的 URL lastPathComponent

iOS 11 带有拖放功能。我想使用它来将 PDF 文件导入我的应用程序。我通过实现 object(withItemProviderData:typeIdentifier 静态方法和 readableTypeIdentifiersForItemProvider 属性创建了一个符合 NSItemProviderReading 协议(protocol)的类:

import Foundation

@available(iOS 11.0, *)
final class MyDropItem: NSObject, NSItemProviderReading {

    @objc let data: Data
    @objc let typeIdentifier: String

    required init(data: Data, typeIdentifier: String) {
        self.data = data
        self.typeIdentifier = typeIdentifier
        super.init()
    }

    static func object(withItemProviderData data: Data, typeIdentifier: String) throws -> Self {
        return self.init(data: data, typeIdentifier: typeIdentifier)
    }

    static var readableTypeIdentifiersForItemProvider: [String] {
        return [kUTTypePDF as String]
    }

}

但是,NSItemProviderReading 不提供从原始 URL 导入对象的方法。因此,我无法检索原始文件的 URL 并保留一些相关部分,例如其 lastPathComponent(例如文档名称 MyPDFDocument.pdf) .

我应该怎么做才能创建符合 NSItemProviderReading 的对象,同时获取它们的相关 URL lastPathComponent



Best Answer-推荐答案


我终于发现 NSItemProvider 有一个属性叫做 suggestedName .应该使用 suggestedName 来获取被丢弃元素的名称。

关于ios - 使用 NSItemProviderReading 时如何检索已删除文档的 URL lastPathComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48863935/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4