我有如下的字典数组:
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]]
我该如何实现?
答案 0 :(得分:1)
for index in ArrayOfData.indices {
if let gameId = ArrayOfData[index] ["ID"] as? Int {
if gameId == 18 {
ArrayOfData[index] ["avgScore"] = 123
}
}
使用数组的索引更新特定对象。