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

Swiftで遊ぼう! - 22 クラスの初期化は複雑なステップ

swift_logo2015年8月12日:追記と改訂 -> Swiftであそぼう! on Hatena

クラスのイニシャライザーには、Designated Initializer(指定イニシャライザー)とConvenience Initializer(簡易イニシャライザー)があります。

もし正式な訳文を知っている人がいらっしゃれば教えてください。待ってまーすm(_ _)m

Designated Initializerとは「指定されたイニシャライザー」てところだろう。Convenience Initializerは「簡単なイニシャライザー」になるとする。

Classを宣言すると、インスタンスが作られるので、スーパークラスからイニシャライザーを継承するとしても、固有のイニシャライザーは必ず1つは存在することになる。イニシャライザーは「funnel」ポイントに落ちつく。このファンネルポイントも「漏斗状」というよりは、ファンネルポイントと言った方が格好いいような気がするが、正式な訳語は知らない。

イニシャライザーの繋がり

どのイニシャライザーに落ち着いていくのか、指定イニシャライザーと簡易イニシャライザーの関係性を単純化するために、Swift言語は次の3つのルールを提供している。

ルール1:指定イニシャライザーは、直属のスーパクラスにある指定イニシャライザーを呼ばなければならない。
ルール2:簡易イニシャライザーは、同クラスの他のイニシャライザー(指定、簡易どちれでも)を呼ばなければならない。
ルール3:簡易イニシャライザーは、最終的に指定イニシャライザーを呼ばなければならない。

このルールをふまえ、2段階の初期化ステップが組まれています。
1段階目で、プロパティに保持させる初期値を入れます。
2段階目で、クラスインスタンス生成時に、初期値のカスタマイズ(変更)を加えることができます。
更にセイフティーチェックポイントとして4つの説明が加えられています。

どういうわけかこのイニシャライザーのステップにルールや実行するステップが多い。多いと言うことは非常に重要なパートなんでしょう。
続きは明日にします。


同じカテゴリー(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で遊ぼう! - 22 クラスの初期化は複雑なステップ
    コメント(0)