だから...私は何を意味するかです:クラスの属性をパラメータとして渡すことはできますか? (SWIFT)
class Test {
var a: String?
var b: String?
}
それは引数に基づいて、AまたはBのどちらかを更新機能を持たせることができますか?いいえ、あなたはそれを行うことはできません
var test = Test()
updateTest(test.b, "foo")
print(test.b) // foo
だから...私は何を意味するかです:クラスの属性をパラメータとして渡すことはできますか? (SWIFT)
class Test {
var a: String?
var b: String?
}
それは引数に基づいて、AまたはBのどちらかを更新機能を持たせることができますか?いいえ、あなたはそれを行うことはできません
var test = Test()
updateTest(test.b, "foo")
print(test.b) // foo
はい、あなたはinout
parameterでこれを行うことができますでしょう
func updateTest(_ testClass: Test,_ updateTo: String){
testClass.b = updateTo
}
を行うことができますの意味についてここ、What does an ampersand (&) mean in the Swift language?を参照してください。
:ビット
func updateTest(_ attribute: Test.attribute,_ updateTo: String){
attribute = updateTo
}
よう
はその後のように呼び出します。
func updateTest(_ attribute: inout String?, _ updateTo: String) {
attribute = updateTo
}
、その後:
updateTest(&test.b, "foo")
をしかし、あなたはだからあなたのコードが
var test = Test()
updateTest(test, "foo")
print(test.b) // foo
ありがとうタプル!多くの助けを借りて – LateNate