最近,我将UITableView的模型部分分离为UITableViewDataSource实现(此实现是单独的类)。虽然可以删除表的记录,并且还必须在REST API中进行删除。有什么选择可以告诉用户记录未被删除吗?网络错误发生了?
我可以做这样的事情(在UITableViewDataSource的实现中:
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if (editingStyle == UITableViewCellEditingStyle.delete) {
let item = getItem(indexPath)
restApi.delete(item.id, callback: { ok in
if (ok) {
tableView.reloadData()
} else {
let alert = UIAlertController(title: "Warning", message: "Deletion was not successfull.", preferredStyle: .alert)
let okAction: UIAlertAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alert.addAction(okAction)
tableView.superview.present(alert, animated: true, completion: nil)
}
})
}
}
但是我不喜欢这种解决方案-显示来自模型的警报。有什么标准的方法可以确定此提交功能失败了吗?