Swift: 在警报视图中按下按钮后,tableView 不会重新加载数据
Swift: The tableView do not reload data after press button in alert view
我添加了警报视图,让用户可以控制他们可以删除数据库中的所有项目,但是 table 不会再次重新加载数据。
我试过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..
}
}
...
}
let selfClass = ItineraryViewontroller()
selfClass.tableView.reloadData()
这些行不正确。您创建了 ItineraryViewontroller
.
的新 实例
您应该获取用于显示您的表格视图的 ItineraryViewontroller 的引用。
同时,您必须更新 dataSource
的 tableview
我添加了警报视图,让用户可以控制他们可以删除数据库中的所有项目,但是 table 不会再次重新加载数据。
我试过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..
}
}
...
}
let selfClass = ItineraryViewontroller()
selfClass.tableView.reloadData()
这些行不正确。您创建了 ItineraryViewontroller
.
您应该获取用于显示您的表格视图的 ItineraryViewontroller 的引用。
同时,您必须更新 dataSource
的 tableview