我有一个列表,我想单击一行以删除此行。 所以我有一张桌子。 tableView中的数据来自mysql数据库(我使用本教程访问数据库https://codewithchris.com/iphone-app-connect-to-mysql-database/)。我添加了一个UISearchBar来过滤列表。如果我不使用搜索栏,那么一切正常,但是如果使用它,则无法删除/删除原始文件。
我尝试对搜索栏使用代码,但出现错误无法将类型'Swift._ContiguousArrayStorage '(0x1e91fbcc8)的值强制转换为'NSMutableArray'
var feedItems: NSArray = NSArray()
var filtered*****s: NSArray = NSArray()
func tableView(_ tableView: UITableView,didSelectRowAt indexPath: IndexPath) {
selected***** = (filtered*****s[indexPath.row] as! *****Model)
var type***** : Int = 0
let alertController1 = UIAlertController(title: selected*****.nom*****,message: Constants.choose_type_*****,preferredStyle: .alert)
alertController1.addaction(UIAlertaction(title: Constants.*******,style: .default,handler: { (action: UIAlertaction!) in
self.dataAdd.append((self.idetablissement,self.selected*****.id*****!,0))
type***** = 0
self.registerNew*****(nom*****: self.selected*****.nom*****!,id*****: self.selected*****.id*****!,type*****: type*****)
}))
alertController1.addaction(UIAlertaction(title: Constants.*********,handler: { (action: UIAlertaction!) in self.dataAdd.append((self.idetablissement,1))
type***** = 1
self.registerNew*****(nom*****: self.selected*****.nom*****!,type*****: type*****)
}))
self.present(alertController1,animated: true,completion: nil)
if (isSearch == false){
let test1 = self.filtered*****s as! NSMutableArray
test1.removeObject(at: indexPath.row)
Liste*****.deleteRows(at: [indexPath],with: UITableView.RowAnimation.automatic)
self.Liste*****.reloadData()
} else {
let test1 = self.filtered*****s as! NSMutableArray
test1.removeObject(at: indexPath.row)
}
func searchBar(_ searchList: UISearchBar,textDidChange searchText: String) {
if searchList.text! == "" {
filtered*****s = feedItems
isSearch = false
} else {
filtered*****s = feedItems.filter { ($0 as! *****Model).nom*****!.lowercased().contains(searchList.text!.lowercased()) } as! [*****Model] as NSArray
isSearch = true
}
self.Liste*****.reloadData()
}
}
您对搜索栏的代码有任何想法吗?我必须删除数据中的单元格,但是在我的情况下,我有两个数据:已过滤和未过滤。我必须从tableView中删除数据。我之前和之后的行数不一样...