我添加了警报视图,让用户可以控制他们可以删除数据库中的所有项目,但是表格不会再次重新加载数据。
我尝试了self.tableView.delegate = self
和self.tableView.reloadData()
,但它不起作用。
以下是代码:
class ItineraryViewontroller: UITableViewController {
....
func clearAll(){
var clearAlert = UIAlertView()
clearAlert.delegate = self
clearAlert.title = "Clear All"
clearAlert.message = "Do you want to delete ALL events in itinerary?"
clearAlert.addButtonWithTitle("OK")
clearAlert.addButtonWithTitle("Cancel")
clearAlert.show()
}
func alertView(View: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){
switch buttonIndex{
case 0:
NSLog("OK");
self.db.open()
self.db.executeUpdate("DELETE FROM bookmark",withArgumentsInArray: nil)
//self.tableView.delegate = self
//self.tableView.reloadData()
let selfClass = ItineraryViewontroller()
selfClass.tableView.reloadData()
break;
case 1:
NSLog("Cancel");
break;
default:
NSLog("Default");
break;
//Some code here..
}
}
...
}
答案 0 :(得分:3)
let selfClass = ItineraryViewontroller()
selfClass.tableView.reloadData()
这些行不正确。您创建了ItineraryViewontroller
的新实例。
您应该获得用于显示您的tableview的ItineraryViewontroller的引用。
同时,您必须更新dataSource
的{{1}}