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

时间:2015-05-04 04:53:26

标签: ios uitableview swift ios7 uialertview

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

我尝试了self.tableView.delegate = selfself.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..

            }
        }
...
}

1 个答案:

答案 0 :(得分:3)

    let selfClass =  ItineraryViewontroller()
     selfClass.tableView.reloadData()

这些行不正确。您创建了ItineraryViewontroller的新实例

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

同时,您必须更新dataSource的{​​{1}}