我有一本像这样的字典......
"113": SellerApp.Product(name: "aa...
现在,每个值都与tableviewcell相关联。因此,当我删除特定单元格时,应删除与其关联的所有值。因此,如果我删除第一个单元格,则在上面的代码段中,mrp: "520")
到 for (index, dict) in self.appDelegate.myDictionary1.enumerated() {
if dict.key == (self.appDelegate.commonArrForselectedItems[indexPath.section].id) {
self.appDelegate.myDictionary1.removeValue(forKey: self.appDelegate.commonArrForselectedItems[indexPath.section].id)
}
}
的所有值都将被删除。
我尝试过这样的事情......
{{1}}
但这似乎删除了id本身,所有剩余的值仍然存在。如何从字典中删除与此id相关的所有值..?
答案 0 :(得分:0)
@bvt,尝试删除如下代码的值
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
yourArrayName.remove(at: indexPath.row)
}
希望它能解决你的问题。
答案 1 :(得分:0)
假设我们的字典是:
var deck = ["Queen": "Spades", "Jack": "Hearts", "King": "Clubs", "Ace": "Diamonds"]
如果我们想要使用key = "Jack"
删除元素,我们需要写一下:
let index = deck.index(forKey: "Jack")
deck.remove(at: index!)
按索引删除:
let index = deck.index(deck.startIndex, offsetBy: 2)
deck.remove(at: index)
但是,您应该记住,词典不是有序的集合。他们没有维持元素的顺序。在我们的示例中,虽然通过查看代码,第二个元素是key = "King"
的元素,但是在散列后的顺序更改如下:
["Jack": "Hearts", "Ace": "Diamonds", "Queen": "Spades", "King": "Clubs"]
因此,如果删除第二个元素,则"King" : Clubs
的元素不会被"Queen": "Spades"
删除。