Hil*_*ant 5 ios swift share-extension ios11
我有一个处理不同类型格式的共享扩展,比如图像。
for attachment in content.attachments as! [NSItemProvider] {
if attachment.hasItemConformingToTypeIdentifier(kUTTypeImage as String) {
attachment.loadItem(forTypeIdentifier: kUTTypeImage as String, options: nil) { data, error in
if error == nil {
var contentData: Data? = nil
//data could be raw Data
if let data = data as? Data {
contentData = data
//data could be an URL
} else if let url = data as? URL {
contentData = try? Data(contentsOf: url)
}
//data could be an UIImage object (e.g. ios11 screenshot editor)
else if let imageData = data as? UIImage {
contentData = UIImagePNGRepresentation(imageData)
}
// proceed here with contentData
}
Run Code Online (Sandbox Code Playgroud)
我现在遇到了 3 种不同的方式如何在加载项方法中将图像数据提供为 NSSecureCoding(在 kUTTypeImage 的情况下),并想知道这是否是处理它的正确方法,以及我是否缺少其他方式来表示图像。
似乎没有定义应用程序如何将其图像数据提供给共享扩展。
是否有另一种(更好的)通用方法可以通过数据变量(NSSecureCoding)了解即将发生的事情?对解码器的通用调用?
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |