炊きたてのご飯が食べたい

定時に帰れるっていいね。自宅勤務できるっていいね。子どもと炊きたてのご飯が食べられる。アクトインディでは積極的にエンジニアを募集中です。

Swift2 - SDWebImage の placeholderImage や失敗時の画像をセットする Utility クラスを作成する


SDWebImage を利用していると、読み込み中に表示する placeholderImage や、取得が失敗したことを表す画像のセットを毎回書くことになるので、アプリ内で共通で利用できる placeholderImage と失敗時の画像を用意して SDWebImage を呼び出すメソッドを定義してあげると便利です。

  • noImage

f:id:t-namikata:20160621000003p:plain

  • logingImage

f:id:t-namikata:20160621000026p:plain

  • errorImage

f:id:t-namikata:20160620235927p:plain

  1. アプリ内で利用するデフォルトイメージ、ダウンロード中イメージ、ダウンロードエラー用イメージの 3 点を準備する
  2. 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)