Swiftのextensionをうまく使う

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

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

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

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

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

タイトルとURLをコピーしました