Swift2 - SDWebImage の placeholderImage や失敗時の画像をセットする Utility クラスを作成する
SDWebImage を利用していると、読み込み中に表示する placeholderImage や、取得が失敗したことを表す画像のセットを毎回書くことになるので、アプリ内で共通で利用できる placeholderImage と失敗時の画像を用意して SDWebImage を呼び出すメソッドを定義してあげると便利です。
- noImage
- logingImage
- errorImage
- アプリ内で利用するデフォルトイメージ、ダウンロード中イメージ、ダウンロードエラー用イメージの 3 点を準備する
- url の指定がなければデフォルトイメージを。 url が無効だったり、タイムアウトエラーなどの場合はエラー用イメージをセットする。
static func setPhoto(imageView: UIImageView, urlString: String) { guard urlString != "" else { imageView.image = UIImage(named: "noImage") return } let nsUrl = NSURL(string: urlString) imageView.sd_setImageWithURL(nsUrl, placeholderImage: UIImage(named: "loadingImage")) { (_, error: NSError?, _, _) in if error != nil { imageView.image = UIImage(named: "errorImage") } } }
let imageView = UIImageView() let urlString = "https://example.com/image.png" UIUtility.setPhoto(imageView, urlString: urlString)