【Swift】構造体
黒帯本でiOS開発の基礎を学び直す。
P.79 Chapter 2-03
クラスを使うのがいいのか、構造体を使うのがいいのかはまだよくわからない。
P. 80の図がわかりやすい
クラスとの違い
- 継承ができない
- メソッドの引数にオブジェクトを渡した場合、値渡しになる
- 参照渡しではないので、値を変更しても元は影響を受けない
クラス
- 関数Aでクラス(インスタンス)のnameプロパティに佐藤をセット
- 関数Bにクラスを渡す(参照渡し)
- 関数Bで渡されたクラスのnameに鈴木をセット
- 関数Aのクラスのnameは鈴木になる
構造体
- 関数Aで構造体(インスタンス)のnameプロパティに佐藤をセット
- 関数Bに構造体を渡す(値渡し)
- 関数Bで渡された構造体のnameに鈴木をセット
- 関数Aの構造体のnameは佐藤のまま