Как показать / преобразовать ссылку oData в UIImage в Swift? - PullRequest
0 голосов
/ 02 ноября 2018

Я получаю изображение из учетной записи Microsoft с помощью этого API: https://graph.microsoft.com/beta/me/photo

И этот API получает эти данные, которые отображаются в выводе. Но я не знаю, как показать эту ссылку на изображении в Swift.

Выход:

"@odata.context" = "https://graph.microsoft.com/beta/$metadata#users('rahulchopra.93%40outlook.com')/photo/$entity";
"@odata.mediaContentType" = "image/jpeg";
height = 2;
id = 2X2;
width = 2;

1 Ответ

0 голосов
/ 02 ноября 2018

Создать расширение UIImageView

extension UIImageView {
    func downloaded(from url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) {
        contentMode = mode
        URLSession.shared.dataTask(with: url) { data, response, error in
            guard
                let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200,
                let mimeType = response?.mimeType, mimeType.hasPrefix("image"),
                let data = data, error == nil,
                let image = UIImage(data: data)
                else { return }
            DispatchQueue.main.async() {
                self.image = image
            }
        }.resume()
    }
    func downloaded(from link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) {
        guard let url = URL(string: link) else { return }
        downloaded(from: url, contentMode: mode)
    }
}

и используйте вот так

imageView.downloaded(from: "http://www.apple.com/euro/ios/ios8/a/generic/images/og.png")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...