使用Objective-C,我們可以使用方法將數據從ViewController傳遞到UIView類中的數組。在使用Swift編程語言時,如何在類之間傳輸數據
在UIView類,我們用這樣的
float values[10];
-(void) getValue:(float) value index:(int) index {
values[index] = value
}
但是,當我們嘗試做與雨燕類似的事情,如
var values : [CGFloat] = [10]
func getValue (value:CGFloat, index:Int) {
values [index] = value
}
我們越來越「致命錯誤:數組索引範圍錯誤的「,或者如果我們使用
var values : [CGFloat] = [10]
var index = 0
func getValue (value:CGFloat) {
values.append = value
++index
}
我們沒有得到錯誤消息,但whenev呃,我們使用setNeedsDisplay()數組值被設置爲初始值,這個例子是10。
直到現在我們無法將Objective-C UIView類轉換爲Swift類。
不斷閱讀和學習。在對我的回答的評論中,你寫道,你找到了一個不使用全局變量的解決方案......上面的解決方案使用了一個全局變量。我很高興它適合你,希望有一天你能弄清楚真正的問題是什麼。 – 2014-11-24 12:28:28
謝謝,但我的理解是實際上沒有問題。在Swift中,當每次調用UIView類變量時都使用正常變量時,已創建新變量,並且新變量具有默認值。即使調用一個函數來改變變量值,它也不能被改變。事實上,我在打印函數中檢查了它,它看起來像是成功地改變了,但在它之外,它又是默認值。這是與Obj-C不同的行爲。 – Hope 2014-11-24 20:08:21