次の例を考えてみましょう。プロパティに代入できません:関数呼び出しは不変の値を返します
struct AStruct{
var i = 0
}
class AClass{
var i = 0
var a: A = A(i: 8)
func aStruct() -> AStruct{
return a
}
}
私はそれが正常にコンパイルAClass
クラスのインスタンスの変数を変異させるしよう。
var ca = AClass()
ca.a.i = 7
しかし、私はaStruct
メソッドの戻り値を変異しようとすると、コンパイルが
ca.aStruct().i = 8 //Compile error. Cannot assign to property: function call returns immutable value.
誰かがこれを説明することはできますが叫びます。
「A」はどのタイプですか?あなたは 'A'として 'AStruct'をミスペルドしましたか? – BangOperator