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

Swiftで遊ぼう! - 23 イニシャライザーの2フェイズ

swift_logoクラス初期化の説明は長々と続く。多彩な図を使って説明しているから重要だと思ったが、どうも重要というよりは、文章を使って説明するのが難しいから助長な説明になっているのかもしれない。こういう概念は人に説明してもらった方が分かりやすいんでしょうね。私の周りに教えを請う人もいないので一人でなんとかしなければならない(T_T)。凝り固まったオヤジの理解力で新しい概念を習得するのは難しい! 何度も文章を読み返して理解していくしかない。クラスのイニシャライズのパートを読み進めよう。

Phase 1(フェイズ 1)
・指定もしくは簡単イニシャライザーはクラスで呼ばれる。
・新しいクラスインスタンスが生成のためにメモリーが割り当てられる。しかしメモリーはまだ初期化されていない。
この文章の意味もよくわからないね。メモリーが割り当てられ(allocate)たというのは、物理的なメモリー量を確保するということなんでしょうか?メモリーがまだ初期化されていない(initialize)されていないというのは、そのメモリーにある種具体的な値が保持されていないということでいいのでしょうか?
・指定イニシャライザーは、クラスで定義された値保持のプロパティが全て値を保持したことを確認する。そして、この時点でメモリーは初期化がされる。
・指定イニシャライザーは、スーパークラスで定義されているイニシャライザーにバトンタッチして、スーパークラスの保持する同様の仕事を実行させる。
・この作業は継承する最上位のクラスまで上がっていく。
・最上位のクラス、繋がりの最後のクラスに達した時に、全ての値保持プロパティはすべて値を持っていることにあんる。こうして、インスタンスのメモリーは完全に初期化されたことになり、フェイズ1は終了となる。

Phase 2(フェイズ2)
・次に繋がりの最上位から逆に下位に向かって、それぞれの指定イニシャライザーが持っているオプション、インスタンスをカスタマイズする尾婦tションを実行していくことができる。そうです、ここでやっとself値にアクセスしてプロパティーに変更することができるし、インスタンスのメソッドや他のオプションを実行する。
・最終的に簡単イニシャライザーのオプションが呼ばれて、self値やインスタンスの変更が加えられて終了。

と、大方の初期化ステップを頭に入れよう。


同じカテゴリー(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で遊ぼう! - 23 イニシャライザーの2フェイズ
    コメント(0)