索引Double Float Array Swift

时间:2017-03-15 06:15:07

标签: arrays swift

如何为这种数组添加值?

let data = [(x: Float, y: Float)]()

如何在存储已添加的索引时更改索引并添加新的浮点值。

示例:

[(x: 0.0, y: 0.0), (x: 1.0, y: 2.0), (x: 2.0, y: 3.0)]

3 个答案:

答案 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]]