UIImageでURLで指定して画像を取得したいときが結構ある。 以下でURL指定で取得できる。
func getImageByUrl(url: String) -> UIImage{ let url = URL(string: url) do { let data = try Data(contentsOf: url!) return UIImage(data: data)! } catch let err { print("Error : \(err.localizedDescription)") } return UIImage() }
呼び出し
let image:UIImage = getImageByUrl(url:"https://rr.img.naver.jp/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140315%2F40%2F4254050%2F12%2F384x215xbeefc5a0630dd93608c286cb.jpg%2F300%2F600&twidth=300&theight=600&qlt=80&res_format=jpg&op=r"))
extensionにしておくと楽。
extension UIImage { public convenience init(url: String) { let url = URL(string: url) do { let data = try Data(contentsOf: url!) self.init(data: data)! return } catch let err { print("Error : \(err.localizedDescription)") } self.init() } }
こんな感じで呼び出せてUIImage(url: String)
のように補完もされるようになる。
let image:UIImage = UIImage(url: "https://rr.img.naver.jp/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140315%2F40%2F4254050%2F12%2F384x215xbeefc5a0630dd93608c286cb.jpg%2F300%2F600&twidth=300&theight=600&qlt=80&res_format=jpg&op=r")