Swiftのextensionをうまく使う

Swiftではextensionとして、あるクラスまたは構造体自体を拡張することができる。これは、Objective-Cにおけるcategoryまたはclass extensionに相当するものだが、Swiftではより柔軟にextensionを使うことができる。

例えば、Objective-Cではできなかった機能としては、各デリゲートプロトコルを継承したメソッドなどを定義するのに、extensionを使って、それがデリゲートメソッドなのかどうかを判別しやすくなったということが挙げられる。従前でもカテゴリーやclass extensionを使うことによって、不十分ながらも分けること自体は不可能ではなかったが、それをしっかりとすることができるようになった点がある。

また、extensionはプロトコルにも適用することができる1 。これを使うことによって、プロトコルの処理を実装することによって、共通として使える部分はコードの記述量を削減して、なおかつ保守性を高められるという利点がある。

Swiftのextensionは使いこなすのはなかなか難しい部分はあるが、非常に便利なので、是非とも使っていきたい。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。ご用の方はコメントかコンタクトフォームにて。

  1. Swift 2.0以降 []
スポンサーリンク

フォローする