Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将类的属性作为参数传递?(SWIFT)_Swift - Fatal编程技术网

是否可以将类的属性作为参数传递?(SWIFT)

是否可以将类的属性作为参数传递?(SWIFT),swift,Swift,所以…我的意思是: class Test { var a: String? var b: String? } 是否可以有一个函数根据参数更新a或b 有点像 func updateTest(_ attribute: Test.attribute,_ updateTo: String){ attribute = updateTo } 然后像这样打电话: var test = Test() updateTest(test.b, "foo") print(test.b) // foo 不,你不能

所以…我的意思是:

class Test {
var a: String?
var b: String?
}
是否可以有一个函数根据参数更新a或b

有点像

func updateTest(_ attribute: Test.attribute,_ updateTo: String){

attribute = updateTo
}
然后像这样打电话:

var test = Test()
updateTest(test.b, "foo")
print(test.b) // foo

不,你不能那样做。但你可以做到

func updateTest(_ testClass: Test,_ updateTo: String){
    testClass.b = updateTo
}
所以你的代码是

var test = Test()
updateTest(test, "foo")
print(test.b) // foo

是的,您可以通过以下方式执行此操作:

然后:

updateTest(&test.b, "foo")

有关
的含义,请参阅。

谢谢tuple!帮了大忙
updateTest(&test.b, "foo")