我想從Tableview中刪除一個項目,如果SearchBar爲空(indexPath是正確的索引),一切工作正常。但如果我使用SearchBar我得到過濾項目的索引。如何從TableBar中獲取Tableview中所有項目的當前項目的索引
如何從Tableview中獲取項目的當前索引?但用SearchBar過濾後。
func filterTableView(ind:Int,text:String) {
switch ind {
case selectedScope.reviewDate.rawValue:
filteredDays = ViewController.reviewDaysArr.filter({ (mod) -> Bool in
return mod.reviewDate.lowercased().contains(text.lowercased())
})
self.tableView.reloadData()
case selectedScope.reviewPlace.rawValue:
filteredDays = ViewController.reviewDaysArr.filter({ (mod) -> Bool in
return mod.reviewPlace.lowercased().contains(text.lowercased())
})
self.tableView.reloadData()
case selectedScope.reviewSum.rawValue:
filteredDays = ViewController.reviewDaysArr.filter({ (mod) -> Bool in
return mod.reviewSum.lowercased().contains(text.lowercased())
})
self.tableView.reloadData()
}
}
static var reviewDaysArr:[ReviewDay] = [
ReviewDay(reviewDate: "03/03/2017", reviewPlace: "Manhattan"),
ReviewDay(reviewDate: "03/03/2017", reviewPlace: "Manhattan"),
ReviewDay(reviewDate: "05/03/2017", reviewPlace: "New Jersey")
]
var filteredDays = reviewDaysArr
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
ViewController.reviewDaysArr.remove(at: indexPath.row)
filteredDays = ViewController.reviewDaysArr
tableView.deleteRows(at: [indexPath], with: .fade)
}
}
篩選主數組而不是重新載入您的表視圖 – Dhiru
還要添加您如何篩選數據的代碼。 –
@NiravD done ... –