请考虑以下示例.
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.
有人可以解释一下吗.