\
2014年08月16日
Posted by 屋台ブルー at 2014年08月16日00:00 Comment(0)

Swiftで遊ぼう! - 37 typealiasを考える

swift_logotypealiasを調べると、「型」の名称を好きな名前に変えることができる機能らしい。しかし、そこの説明を読んでいると、型というのも一筋縄にいかなく溜息をついてしまった。

Type Aliasesに取りあげられている例文はたったこれだけ。

typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.min

これを読み流しで、すーっと頭に入る理解力が私にはない!
まず一番疑問に思うところが、「.min」というメソッド。これが「型」で利用できるということが頭にすーっと入ってこない。

私に必要な説明に次の文章がいる。
var maxAmlitudeFound:UInt16
maxAmplitudeFound = UInt16.min

まあ、これも文章の中に書いていあるんですが、こういう実験をしてみて理解する。
typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.min
var reallymaxamplitude = AudioSample.max
maxAmplitudeFoundには「0」が入り、reallymaxamplitudeには「65535」が入る。

そして、このtypealiasの利用として、重要なのがプロトコールを定義するところだろう。
プロトコールの理解には本当に苦しんでいて、まだ完全納得までできていない。
というのも、プロトコールの説明に出てくる例文が、
protocol FullyNamed {
var fullName: String {get}
}

struct Person: FullyNamed {
var fullName:String
}

let john = Person(fullName:"John Appleseed")

プロトコールがメソッドやプロパティのブループリントとして、クラスや構造体に組み込むことができるというシンプルな説明文として相応しいかもしれないが、その利便性というのがなかなか伝わってこない。プロトコールでメソッドを定義するのであれば、そのプロパティもより抽象的であるべきでしょう。

ということで、プロトコールの中で抽象的な型宣言(どんなタイプも受けいられるようにするため)をする時にtypealiasを使うという流れなんでしょう。

そういう話が、「Associated Types」のところで説明してあった。

さて、ここでtypealiasを使ったプロトコールの説明があるけど、再び分からない記述が... subscript... また明日以降に考えよう。


同じカテゴリー(Swiftで遊ぼう!)の記事画像
Swiftで遊ぼう! - プログラミングまとめ(ときどき更新)
Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明
Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect
Swiftで遊ぼう! - 208 - ルートビューのコード
Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ
Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる
同じカテゴリー(Swiftで遊ぼう!)の記事
 Swiftで遊ぼう! - プログラミングまとめ(ときどき更新) (2021-01-31 00:00)
 Swiftで遊ぼう! - 番外編 - Xcode6:ショートカットと用語説明 (2015-04-05 00:00)
 Swiftで遊ぼう! - 209 - ルートビューのコードは続く:CGRect (2015-02-06 00:00)
 Swiftで遊ぼう! - 208 - ルートビューのコード (2015-02-05 00:00)
 Swiftで遊ぼう! - 207 - ツールバーボタンとビューコントローラーを繋ぐ (2015-02-04 00:00)
 Swiftで遊ぼう! - 206 - ビューコントローラーにビューコントローラーを載せる (2015-02-03 00:00)

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
Swiftで遊ぼう! - 37 typealiasを考える
    コメント(0)