Macht der Parameter inout / var einen Unterschied zum Referenztyp?
Ich weiß wasinout
tut fürWerttypen.
Mit Objekten oder anderenReferenzty, gibt es in diesem Fall einen Zweck für dieses Schlüsselwort, anstatt @ zu verwendvar
?
private class MyClass {
private var testInt = 1
}
private func testParameterObject(var testClass: MyClass) {
testClass.testInt++
}
private var testClass: MyClass = MyClass()
testParameterObject(testClass)
testClass.testInt // output ~> 2
private func testInoutParameterObject(inout testClass: MyClass) {
testClass.testInt++
}
testClass.testInt = 1
testInoutParameterObject(&testClass) // what happens here?
testClass.testInt // output ~> 2
s könnte das gleiche sein wie einfach dasvar
Schlüsselwort in der Parameterliste.