基本上,我有一个dictionaries
的NSarray
仅作为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"]
您可以看到新的NSDictionary
与item_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
}