更新字典数组中的值

时间:2019-07-19 20:24:04

标签: arrays swift nsdictionary

我有如下的字典数组:

var ArrayOfData: [[String: Any]] = []

ArrayOfData = [["ID": 18, "Data": <null>, "avgScore": 0],["ID": 8, "Data": <null>, "avgScore": 0],["ID": 9, "Data": <null>, "avgScore": 0]]

我的ArrayOfData具有上述值。但是我需要根据我的ID更新特定的对象字典值。

我尝试如下所示,但是我不知道如何更新值。

for datas in ArrayOfData {
    var gameIdData = datas["ID"] as? Int
    if gameIdData == "18" {
        var gameData = datas
        gameData["avgScore"] ="123"
    }
}

我需要更新特定的id对象,再次需要将其追加到新的字典数组或旧的字典数组中。

我更新的值应如下所示:

var UpdatedArrayOfData: [[String: Any]] = []

ArrayOfData = [["ID": 18, "Data": <null>, "avgScore": 123],["ID": 8, "Data": <null>, "avgScore": 0],["ID": 9, "Data": <null>, "avgScore": 0]]

我该如何实现?

1 个答案:

答案 0 :(得分:1)

for index in ArrayOfData.indices {
if let gameId = ArrayOfData[index] ["ID"] as? Int {
    if gameId == 18 {
        ArrayOfData[index] ["avgScore"] = 123
    }
}

使用数组的索引更新特定对象。