Имеет ли значение параметр inout / var для ссылочного типа?
я знаю чтоinout
делает длятипы значений.
С объектами или любым другимтип ссылки, есть ли цель для этого ключевого слова в этом случае вместо использованияvar
?
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
Это может быть так же, как простоvar
Ключевое слово в списке параметров.