Swift による iOS 開発入門

ホーム > Swift の基本 > ジェネリックス

ジェネリックス

スポンサーリンク

ある特定のアルゴリズムが、そのデータ型に依存せずにあてはまる場合、型を指定せずに関数なり、コレクションを定義できたら便利です。

例えばリストがあったとして、Int のリストも String のリストも、同様の使い方をしたい場合、型によらない実装をしておき、 必要に応じて型を指定できたら便利です。

例えば、Dictionary のコレクションで、キーも値も String という場合は、次のように < と > にて String を指定します。

このように型によらないアルゴリズムを汎用の型としてテンプレートを実装しておき、後で必要に応じて型を指定する実装をジェネリックス (Generics) といいます。

ジェネリックスを使うと、関数の定義を次のようにかけます。< と > に型を表す文字を書きます。

実行時に、Int 型及び String 型どちらでも動作が確認できますね。

プロトコル定義でのジェネリックス

ジェネリックスの基本的な考え方には変わりありませんが、プロトコル定義でのジェネリックス利用方法を紹介します。

プロトコルでは typealias で型を示す文字を指定します。ここでは MyType という文字を使っています。

このプロトコルを実装する場合は、タイプエイリアスは実際の型を指定します。

スポンサーリンク
ホーム > Swift の基本 > ジェネリックス