我已经到了可以添加所有具有不同标签
的单元格的地步。但是,当滑动行以删除时,它只会删除与单元格关联的文本,而不是单元格本身。我尝试在 if
语句中添加 SavedMessages.deleteRows(at: [indexPath], with: .automatic)
但每次应用程序尝试删除该行时,应用程序崩溃。
这是代码:-
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){
if editingStyle == UITableViewCellEditingStyle.delete {
let delete: NSFetchRequest<Messages> = Messages.fetchRequest()
do {
var deleteMessage = try
PersistenceServce.context.fetch(delete)
PersistenceServce.context.delete(messages.remove(at: indexPath.row))
PersistenceServce.saveContext()
self.messages = deleteMessage
SavedMessages.reloadData()
} catch {}
}
}
提前致谢!
最佳答案
也许你没有用
tableView.cellForRow(at: indexPath)?.removeFromSuperview()
我创建了一个示例,其中删除数据以及单元格都被完美地删除了。
var data = [1,2,3,4,5]
override func tableView(_ tableView: UITableView, numberOfRowsInSection
section: Int) -> Int
{
return data.count
}
override func tableView(_ tableView: UITableView,
commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCellEditingStyle.delete
{
data.remove(at: indexPath.row) //removing the value from data source.
tableView.cellForRow(at: indexPath)?.removeFromSuperview() //removing the cell
tableView.reloadData() //reloading Table data.
}
}
关于ios - TableView 行需要删除两次才能从 UI 中删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48236943/