看板 MacDev 關於我們 聯絡資訊
各位好: 我目前建立了兩個class,想要在classB內更改classA.xList的值 執行結果卻不如預期;我試著用classA內的函式搭配inout是可以的 請問我的寫法是哪裡有誤嗎? class A { var xList=[Bool](count:21 repeatedValue:false) func X { var b=B(xList:&xList) //把陣列傳入 b.f() //在這裡更改陣列內的值 } class B { var xList:[Bool] init(inout inputList:[Bool]) { self.xList=inputList //接收陣列 } func f() { xList[0]=true //想更改陣列的值,但是A.xList沒有變更 } } func setArray(inout inputList) { inputList[0]=true //classA內的函式,可以正確更改A.xList } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.200.144 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1439956507.A.C6A.html
fishead1116: 你 f() 改的是B的xList的值啊 08/19 12:13