[問題] Swift:類別間傳遞陣列的方法
各位好:
我目前建立了兩個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
08/19 12:13, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章