SwiftでSDWebImageを使いたい

SDWebImageはObjective-Cで作成されています。

SwiftのプロジェクトでObjective-Cで作成されたライブラリを利用し、実際にSDWebImageを動かすところまでのメモ。

 

1. Swiftプロジェクトを作る

XCodeのバージョンは6.1.1です。

Xcode > File > New > Project... 

f:id:daimarururu:20150123115101p:plain

プロジェクト名はとりあえず「SampleProject」としました。

f:id:daimarururu:20150123115102p:plain

つぎはObjective-Cのライブラリを使えるようにしていきます。

 

2. SDWebImageのライブラリを導入する

 ライブラリの導入は以下の3タイプが通常

 1. CocoaPodsを使う
 2. Githubからcloneする
 3. zipファイルをダウンロード

ここでは最も単純な「3. zipファイルをダウンロード」で進めます。

そのほかの方法についてはSDWebImageのInstallationを読んでみてください。

 1. zipファイルをダウンロードする

ダウンロードページからSouceCode(Zip)でダウンロードしてください。

ダンロードしたZipファイルは解凍します。

2. Xcodeのプロジェクトに導入

解凍したディレクトリ内の「SDWebImage」をXcodeのプロジェクトに直接ドラッグしてドロップ。

f:id:daimarururu:20150123120404p:plain

「Copy items if needed」はチェックしておいてください。

f:id:daimarururu:20150123120405p:plain

 

こんな感じになっているはず。

f:id:daimarururu:20150123120720p:plain

 

3. Objective-Cライブラリを利用するための設定

SwiftプロジェクトでObjective-Cライブラリを使うためには、ブリッジの設定が必要らしい。

プロジェクトフォルダを右クリック > NewFile...

iOS > Source > Header File を選択します。

f:id:daimarururu:20150123121047p:plain

 ファイル名は何だっていいんですが「ProjectName-Bridging-Header.h」が一般的らしい。

 

f:id:daimarururu:20150123121302p:plain

 

作成したSampleProject-Bridging-Header.hに以下を記入。

#import "UIImageView+WebCache.h"

・SampleProject-Bridging-Header.h

#ifndef SampleProject_SampleProject_Bridging_Header_h
#define SampleProject_SampleProject_Bridging_Header_h

#import "UIImageView+WebCache.h"

#endif

 

 

ヘッダーファイルを登録します。

Build Setting > Swift Compiler > Objective-C Bridging Header

f:id:daimarururu:20150123122918p:plain

これで使うまでの準備が完了。さあ、実際に動くか試してみましょう。

 

4. SDWebImageを利用する

Main.storyboardに右下のImage Viewをドラッグで設置。

f:id:daimarururu:20150123122144p:plain

アシスタントエディタを表示して、Controlを押しながらViewController.swiftにIBOutletを追加。

f:id:daimarururu:20150123123913p:plain

sampleImage.sd くらいまで書いたら、補完が表示されるはず。

今回はGoogleのロゴを表示して終了します。

f:id:daimarururu:20150126153353p:plain

 

お疲れ様でした。