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()