无法告诉用户该项目未在UITableViewDatasource中删除

时间:2018-10-11 14:09:26

标签: ios swift uitableview

最近,我将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)

            }
        })
    }
}

但是我不喜欢这种解决方案-显示来自模型的警报。有什么标准的方法可以确定此提交功能失败了吗?

0 个答案:

没有答案