Как использовать изображение веб-URL в контроллере активности, чтобы поделиться изображением в Swift
Я использую модуль 'AlamofireImage' и показываю изображения в коллекции. Ячейка просмотра, но клиент хочет поделиться. Изображение Я использую это, но не работаю:
var shareImages = [UIImage]()
shareImages = [UIImage(named: "http://idea-factory.in/images/25-021.jpg")] as! [UIImage];
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareImages, applicationActivities: nil)
let excludedTypes: [UIActivity.ActivityType] = [.postToVimeo, .postToTwitter, .assignToContact, .saveToCameraRoll]
activityViewController.excludedActivityTypes = excludedTypes
self.present(activityViewController, animated: true, completion: nil)
приходит ошибка: поток 1: сигнал SIGABRT
2 ответа
Вы должны использовать изображение, как только оно будет получено полностью. Одним из методов, которые вы можете использовать, является
let downloader = ImageDownloader()
let urlRequest = URLRequest(url: URL(string: "http://idea-factory.in/images/25-021.jpg")!)
downloader.download(urlRequest) { response in
print(response.request)
print(response.response)
debugPrint(response.result)
if let image = response.result.value {
//use your activity controller here
}
}
Я не уверен, что это полезно, но обычно я получаю эту ошибку, если я либо не связал свои контроллеры представления должным образом, либо мне нужно было принудительно развернуть значение и не сделал этого.