iOS 11附带Drag&下降。我想用它来将PDF文件导入我的应用程序。我通过实现NSItemProviderReading
静态方法和object(withItemProviderData:typeIdentifier:)
属性创建了符合readableTypeIdentifiersForItemProvider
协议的类:
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
的对象?