【问题标题】:How to retrieve URL lastPathComponent of dropped document while using NSItemProviderReading使用 NSItemProviderReading 时如何检索已删除文档的 URL lastPathComponent
【发布时间】:2018-07-29 13:21:16
【问题描述】:

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

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

【问题讨论】:

    标签: ios swift drag-and-drop uikit


    【解决方案1】:

    我终于发现NSItemProvider 有一个名为suggestedName 的属性。应该使用suggestedName 来获取掉落物品的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2011-10-17
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多