我有 NSMutableDictionary
,我想删除 并刷新我的 TableView ,其中 code
值等于 deletecode
.
How can I do it? , My codes under below.
var myCells = [NSMutableDictionary]()
myCells = [["isExpanded" : false,
"isVisible" : true,
"additionalRows" : 7,
"code" : "Flex1"
],
[ "isExpanded" : false,
"isVisible" : true,
"additionalRows" : 7,
"code" : "Flex3"
],
[ "isExpanded" : false,
"isVisible" : true,
"additionalRows" : 7,
"code" : "Flex4"
]]
let deletecode = "Flex1"
if let indexOfA = myCells.flatMap({$0["\(deletecode))"]}).last {
self.tableView.beginUpdates()
self.myCells.remove(at: indexOfA as! Int)
self.tableView.endUpdates()
self.tableView.reloadData()
}
我的代码第 2 部分
myCells = myCells.filter { (element) -> Bool in
if let code = element["additionalRows"] as? String {
if code != "7" {
}else {
let fetchRequestf = NSFetchRequest<NSFetchRequestResult>(entityName:"Match")
let predicatek = NSPredicate (format:"code = %@",(element["code"] as? String)!)
fetchRequestf.predicate = predicatek
do {
let getSett = try context.fetch(fetchRequestf) as! [Match]
if (getSett.count > 0) {
if (getSett[0].show == false){
let deletecode = getSett[0].code
self.tableView.beginUpdates()
myCells = myCells.filter { (element) -> Bool in
if let code = element["code"] as? String {
return code != deletecode
}
return true
}
self.tableView.endUpdates()
self.tableView.reloadData()
}
}
} catch let error as NSError {
print(error)
}
}
}
return true
}
最佳答案
您可以简单地过滤
您的数组:
myCells = myCells.filter { (element) -> Bool in
if let code = element["code"] as? String {
return code != deletecode
}
return true
}
self.tableView.reloadData()
关于ios - 在 Swift 3 中匹配和删除数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466965/