作者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/cn.aspx?n=bbs/MacDev/M.1439956507.A.C6A.html
1F:推 fishead1116: 你 f() 改的是B的xList的值啊 08/19 12:13