我正在编写一款Todo应用程序。该应用程序很简单,共有两个页面。一个页面用于以表格视图形式显示任务,另一个页面用于添加新任务。在添加新任务的页面中,我会将其发布到服务器,然后在主页面中从服务器获取数据,并在realm数据库中保存数据。
当我想要在主页面中删除这些任务时,我的应用程序会崩溃,并显示以下错误信息。
当我想要在主页面中删除这些任务时,我的应用程序会崩溃,并显示以下错误信息。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[TodoApp.TodosTableViewController delete:]: unrecognized selector sent to instance 0x7fca7b40b4c0
有人知道为什么吗? 这是我的删除功能:
public func delete<T:Object>(_ model: T) {
let realm = try! Realm()
try! realm.write {
realm.delete(model)
}
}
这是我使用该函数从数据库中删除的位置:
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath){
if editingStyle == UITableViewCellEditingStyle.delete {
rowHere = indexPath.row
// it crashes the app when I want to delete from database
// delete(self.todos[self.rowHere!])
self.todos.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath as IndexPath], with: UITableViewRowAnimation.automatic)
}
}
delete()
存在于哪里?它是你的TodosTableViewController
类的一个方法吗? - AustinZ