来自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中的东西来反映变化立即作为引用对象中的值更改? –