如何在Swift中删除组数据?

时间:2016-11-10 09:12:42

标签: ios swift

我有词典,我正在添加到tableView。

 let myArray = [["name": "First element", "foo": "bar","GroupID":"1"], ["name": "First element", "foo": "bar","GroupID":"1"],["name": "Second element", "foo": "bar","GroupID":"2"], ["name": "Second element", "foo": "bar","GroupID":"2"]]

在这本词典中,我有一个键GroupID

我是否有可能获得GroupID = %@

的字典数据

我想根据分组过滤数据

假设我有四个数据,并且两个数据中的组ID相同。我想从字典中删除GroupID相同的所有数据。

如果groupid == 1数据将从其GroupID == 1和tableview将重新加载数据的字典中删除。

我这样做是因为我想要删除组数据。

2 个答案:

答案 0 :(得分:3)

您可以使用filter上的Array从阵列中删除这些词典,请查看此示例

var subitems: [[String:String]] = [
    ["groupid": "1", "b": "2"],
    ["groupid": "3", "b": "4"],
    ["groupid": "1", "b": "6"]
]

var filteredSubitems = subitems.filter{
    $0["groupid"] != "1" // change with your groupid
}

print(filteredSubitems)

答案 1 :(得分:1)

这是一种简单的方法:

var index = 0
for element in myArray {
    if element["GroupID"] == "1" {
        myArray.remove(at: 0)
        index += 1
    } else {
        index += 1
    }
}

print(myArray):

打印出来:

  

[[" name":" Second element"," GroupID":" 2"," foo" :" bar"],[" name":   "第二个元素"," GroupID":" 2"," foo":" bar"]]

祝你好运!