【Androidアプリ開発者から見たSwift】Swiftの参照渡し値渡し
Swiftでは、関数に渡す変数がクラスの場合は参照渡しで
構造体の場合は値渡しになります。
そのため、以下のソースコードのように、
Humanクラスのインスタンスを関数の引数に与え、
関数の中でインスタンスのプロパティを変更です。
一方、Dog構造体は関数の中でプロパティを変更できません。
実装する際には注意が必要ですね。
/* クラス */ class Human{ var name = "" var age = 0 } /* 構造体 */ struct Dog{ var name = "" var age = 0 } /* Humanクラスを引数 */ func grow(human: Human){ human.age += 1 } /* Dog構造体を引数 */ func grow(dog: Dog){ // dog.age += 1 /* structは値渡しのため、変更不可 */ }