Ios Swift:按下警报视图中的按钮后,tableView不会重新加载数据

Ios Swift:按下警报视图中的按钮后,tableView不会重新加载数据,ios,uitableview,swift,ios7,uialertview,Ios,Uitableview,Swift,Ios7,Uialertview,我添加了警报视图,使用户可以控制删除数据库中的所有项,但表不会再次重新加载数据 我已经尝试了self.tableView.delegate=self和self.tableView.reloadData(),但它不起作用 代码如下: class ItineraryViewontroller: UITableViewController { .... func clearAll(){ var clearAlert = UIAlertView()

我添加了警报视图,使用户可以控制删除数据库中的所有项,但表不会再次重新加载数据

我已经尝试了
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..

            }
        }
...
}
这些线不正确。您可以创建一个新的实例
行程视图控制器

您应该获得用于显示tableview的InventureViewController的引用


同时,您必须更新
tableview的
dataSource

您是否也设置了
self.tableview.dataSource=self
?同时在viewDidLoad中设置
self.tableView.datasource=self和self.tableView.delegate=self
。是的,它仍然不适用于meso,我添加了
self.tableView.reloadData()
,是否正确?
let selfClass=tineraryviewcontroller()
的目的是再次调用自身。从您发布的代码中,我无法确定
self
是否为
itinerayviewcontroller
,如果是,您可以尝试。很抱歉,缺少信息。我已经厌倦了添加
self.tableView.reloadData()
,但它不起作用。您忘记了更新
数据源
,当清除数据库中的数据时,您还需要清除tableView数据源中的数据。不客气。我将更新答案,以便遇到此问题的其他人可以知道发生了什么
    let selfClass =  ItineraryViewontroller()
     selfClass.tableView.reloadData()