Swift-更新一系列Nsdictionary,并具有来自另一个Nsdictionary的值



基本上,我有一个dictionariesNSarray仅作为JSON响应出现一次。现在,我需要用另一组字典在每几秒钟内分别出现键的键的特定值,以便我可以通过这些值不断地更新我的字典数组,并在屏幕上显示一些实时数据集。

示例:这是我从后端获得的字典数组

[
  {item_id: 1001, name: "Apple", current_price: "$10"},
  {item_id: 1009, name: "Orange", current_price: "$15"},
  {item_id: 1004, name: "Mango", current_price: "$5"}
]

当前价格是不断变化的,我以NSDictionary格式分别收到的数据。

["1009": "$16", "1004": "$3", "1001": "$11"]

您可以看到新的NSDictionaryitem_id映射到当前价格值。

我需要一条出路来确保当前价格从此NSDictionary更新为字典数组,以便我可以重新使用该数组来重新加载我的UITableview并显示更新的实时价格。

您可以这样做:

let items = [["item_id": 1001, "name": "Apple", "current_price": "$10"], ["item_id": 1009, "name": "Orange", "current_price": "$15"], ["item_id": 1004, "name": "Mango", "current_price": "$5"]]
let prices = ["1009": "$16", "1004": "$3", "1001": "$11"]
let updatedItems = items.map { itemDict -> [String: Any] in
    var updatedItem = itemDict
    if let idKey = itemDict["item_id"] as? Int {
        prices["(idKey)"].flatMap { updatedItem["current_price"] = $0 }
    }
    return updatedItem
}

最新更新