画像フィルタ機能

 

説明

  • CIFilterを使用した、フィルタリング後の画像を一覧表示するサンプル。
  • このサンプルは1枚の画像にフィルタをかけた場合のサンプル。 ※複数の画像を用意すれば、複数枚画像を掛け合わせたような画像を生成することができるフィルタも多数ある。フィルタの種類についてはAppleCore Image Filter Referenceを参照。

 ポイント

  • CIFilterの生成時にフィルタ名としてCIBoxBlurCIDiscBlurなどの文字列を指定することで画像にフィルタをかけることができる。

 Delegateによるデータ受け渡しのデザインパターン(DelegateSample)

 説明

  • protocolを使用し、UITableViewCellに配置されたUIButtonのタップイベントをView配置元のUIViewControllerに検知させるためのDelegateデザインパターンサンプル。 ※今回はDelegateデザインパターンを実装するためのサンプルなので、UITableViewDelegateDelegateに関する説明は割愛します。

 ポイント

  • Delegate(移譲)delegateプロパティ定義には基本的に弱参照weakで定義する。
  • Delegatedelegateプロパティ定義はランタイムエラーを防ぐためにオプショナル型?で定義する。
  • Delegatedelegate定義にはprotocolを使用する。
  • Delegatedelegate対象クラス生成時に移譲処理(xxx.delegate = selfに該当する)を記述する。
  • Delegateのクラス定義部分にdelegateに該当するprotocol名と、Delegateのprotocolで定義したメソッドを記述する。 ※extensionを使用して、移譲クラスのスコープ外にprotocol名メソッドを定義し直してもOK。