如何为这种数组添加值?
let data = [(x: Float, y: Float)]()
如何在存储已添加的索引时更改索引并添加新的浮点值。
示例:
[(x: 0.0, y: 0.0), (x: 1.0, y: 2.0), (x: 2.0, y: 3.0)]
答案 0 :(得分:0)
使用append
方法在数据中添加更多元组值。
data.append((1.0, 20.0))
data.append((1.0, 3.0))
如果您想更新值
data[0] = (2.0, 4.0)
如果你想改变特定的索引x和y值:
data[0].x = 4.0 //or data[0].0 = 4.0
data[0].y = 6.0 // or data[0].1 = 7.0
答案 1 :(得分:0)
上面的答案只有一半是正确的,你需要更改关键字let,因此它是常量变量
var data = [(x: Float, y: Float)]()
data.append(contentsOf: [(x: 0.0, y: 0.0), (x: 1.0, y: 2.0), (x: 2.0, y: 3.0)])
答案 2 :(得分:0)
您可以定义自己的数据结构。
class myData: CustomStringConvertible {
var x: Float
var y: Float
init(x: Float, y: Float) {
self.x = x
self.y = y
}
var description: String {
return "[x = \(x), y = \(y)]"
}
}
var dataArray = [myData]()
let mockData = [myData(x: 1, y: 2), myData(x: 3, y: 4)]
dataArray.append(contentsOf: mockData)
print(dataArray)
// -->[[x = 1.0, y = 2.0], [x = 3.0, y = 4.0]]
// you can change the value at any index of your data
dataArray[0].x = 4
print(dataArray)
// --> [[x = 4.0, y = 2.0], [x = 3.0, y = 4.0]]
//Also, you can change all values this way
dataArray.map { $0.y = 5 }
print(dataArray)
// -->[[x = 4.0, y = 5.0], [x = 3.0, y = 5.0]]