來自JS,並試圖在swift中通過引用傳遞[JSON],這是不可能的,所以我試圖把它包裝在對象中,並使用原語做了一個簡單的例子,哪些仍然無法正常工作,我如何包裝成員a,以便引用對象的變化影響b?感謝swift:傳遞參考
class ExampleA {
var a = 0
init(a: Int) {
self.a = a
}
}
class ExampleB {
var a = 0
init(a: Int) {
self.a = a
}
func process(inout p: ExampleA) {
self.a = p.a
print(p.a)
}
}
var a = ExampleA(a: 15)
var b = ExampleB(a: 10)
b.process(&a)
print(b.a) // "15\n"
a.a = 25 // this does nothing to b????
print(b.a) // "15\n"
爲什麼它會影響'B'?更改'a.a'後不要調用'process'。 –
你應該設置一些顯式的委託結構來使值根據其他變化。他們不應該含蓄地「神奇地」改變他們的價值觀。 – luk2302
有沒有辦法引用類似於JS中的東西來反映變化立即作爲引用對象中的值更改? –