作者ccshen037899 (ccshen)
看板MacDev
標題[問題] Swift:類別間傳遞陣列的方法
時間Wed Aug 19 11:55:04 2015
各位好:
我目前建立了兩個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://webptt.com/m.aspx?n=bbs/MacDev/M.1439956507.A.C6A.html
1F:推 fishead1116: 你 f() 改的是B的xList的值啊 08/19 12:13