6-1Subscriptの利用
ポイント:クラスを配列のように扱うSubscript
Subscriptは、クラスなどから必要な情報を添え字( [ ]記号)で取り出せるようにするための仕組みです。配列や辞書の感覚で扱えるクラスを作るためのものといっていいでしょう。次のようにsubscriptメソッドをクラス内に定義します。
Subscript の定義
subscript (引数 ) -> 返値 {
get {
……処理……
return 値
}
set {
……処理……
}
}
オーバーロード
Subscriptは、複数をオーバーロードすることもできます。例えば、あるデータを、番号でも名前でも取り出せるようにできます。ただし、データの管理を一元化するためには、取り出し方をいろいろと工夫する必要があるでしょう。
配列との違い
クラスでSubscriptを利用して配列らしい使い方が可能となっても、配列とは明確に違う部分があるので注意が必要です。クラスは、変数などに値を代入する場合、「 参照渡し」で代入されます。これに対して配列や構造体などは「 値渡し」で代入されます。このため、配列とおなじ感覚でSubscriptしたクラスを利用すると、動作の違いに戸惑うこともあります。
Subscriptとは?
Swiftでは、多数の値を保管するのに 配列
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録