■
画像フィルタ機能
説明
CIFilter
を使用した、フィルタリング後の画像を一覧表示するサンプル。- このサンプルは1枚の画像にフィルタをかけた場合のサンプル。 ※複数の画像を用意すれば、複数枚画像を掛け合わせたような画像を生成することができるフィルタも多数ある。フィルタの種類についてはAppleのCore Image Filter Referenceを参照。
ポイント
CIFilter
の生成時にフィルタ名としてCIBoxBlur
やCIDiscBlur
などの文字列を指定することで画像にフィルタをかけることができる。
Delegateによるデータ受け渡しのデザインパターン(DelegateSample)
説明
protocol
を使用し、UITableViewCell
に配置されたUIButton
のタップイベントをView配置元のUIViewController
に検知させるためのDelegateデザインパターンサンプル。 ※今回はDelegateデザインパターンを実装するためのサンプルなので、UITableViewDelegate
のDelegateに関する説明は割愛します。
ポイント
- Delegate(移譲)
元
のdelegateプロパティ定義には基本的に弱参照weak
で定義する。 - Delegate
元
のdelegateプロパティ定義はランタイムエラーを防ぐためにオプショナル型?
で定義する。 - Delegate
元
のdelegate定義にはprotocol
を使用する。 - Delegate
先
のdelegate対象クラス生成時に移譲処理(xxx.delegate = self
に該当する)を記述する。 - Delegate
先
のクラス定義部分にdelegateに該当するprotocol名
と、Delegate元
のprotocolで定義したメソッド
を記述する。 ※extension
を使用して、移譲先
クラスのスコープ外にprotocol名
とメソッド
を定義し直してもOK。