レストランの検索アプリを作っている時に、画像のURLからUIImageを作成したいと思った。

こんな感じで、画像のURLがあればお店の画像を表示、なければ自分で作成した「No Image」を表示するようにしてみた。
「No Image」はPhoto Scape Xで自作してXcodeのAssetsに置いて利用する。
ImageViewのサイズが100 * 100の時には、画像のサイズも100 * 100にするとピッタリ収まる。
当たり前のことだけどちょっと嬉しかった。
UIImageはURL指定ができないので、以下の通りに拡張する。
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() } }
URLの文字列が入っているか空であるかは以下のように判定。
if image.isEmpty { cell.imageview.image = UIImage(named: "noimage") }else{ cell.imageview.image = UIImage(url: image) }
コーディング、楽しいね。