我有一些创建名为"content“的NSSecureCoding变量的代码,我希望将该变量转换为NSData,然后可以将其转换为UIImage或发送到本地服务器。我如何正确地转换它?我想在我的iOS应用程序中做一个分享扩展,这样当你在一张照片上按共享时,它就会获取照片内容并将其转换为NSData。下面是我的代码:
inputItem = extensionContext!.inputItems.first as NSExtensionItem
attachment = inputItem.attachments![0] as NSItemProvider
if (attachment.hasItemConformingToTypeIdentifier(kUTTypeImage as String)){
attachment.loadItemForTypeIdentifier(kUTTypeImage as String,
options: nil,
completionHandler: {(content, error: NSError!) in
//insert code to convert "content"(NSSecureCoding) to NSData variable
})
}发布于 2020-04-28 10:31:36
DispatchQueue.global().async {
attachment.loadItem(forTypeIdentifier: kUTTypeImage as String, options: nil, completionHandler: { (item, error) in
if let error = error {
print(error.localizedDescription)
return
}
var image: UIImage?
if item is UIImage {
image = item as? UIImage
}
if item is URL {
let data = try? Data(contentsOf: item as! URL)
image = UIImage(data: data!)!
}
if item is Data {
image = UIImage(data: item as! Data)!
}
if let image = image {
DispatchQueue.main.async {
// image here
}
}
})
}发布于 2015-10-10 05:59:42
有点晚了,但这件事今天发生在我身上,我像这样解决了它,在completionHandler中
if let data = content {
self.imageData = UIImage(data: NSData(contentsOfURL: data as! NSURL)!)
}imageData为UIImage类型。
https://stackoverflow.com/questions/29477544
复制相似问题