[問題] Swift:類別間傳遞陣列的方法

看板MacDev作者 (ccshen)時間10年前 (2015/08/19 11:55), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
各位好: 我目前建立了兩個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

08/19 12:13, , 1F
你 f() 改的是B的xList的值啊
08/19 12:13, 1F
文章代碼(AID): #1Lq_uRng (MacDev)
文章代碼(AID): #1Lq_uRng (MacDev)