iOS 11附带拖放功能;滴我想使用它将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
. 因此,我无法检索
统一资源定位地址
并保留一些相关部分,如
lastPathComponent
(例如文件名
MyPDFDocument.pdf
).
为了能够创建
NSItemProviderReading
获取相关对象时的一致性
统一资源定位地址
lastPathComponent
?