我有一个变量来存储我已加载到UITableView中的自定义类的对象。
我为用户提供了清除所有内容的选项。当这运行我清除存储所有播放器的阵列但是如何清除TableView?
我已经尝试了tableView.reloadData(),但它没有做任何事情。
Custom Class&全局变量:
var players: [AnyObject] = []
Class Player{
var playerName: String?
init(name:String){
playerName = name
}
}
自定义单元格cellForRowAtIndexPath:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: CustomMainCell = tableView.dequeueReusableCellWithIdentifier("CustomMainCell") as CustomMainCell
// Get Player
let thisPlayer:Player = players[indexPath.row] as Player
cell.nameLabel?.text = thisPlayer.playerName
}
return cell
}
设置清除功能:
alertController.addAction(UIAlertAction(title: "Clear Players?", style: .Default, handler: { (action: UIAlertAction!) in
players.removeAll()
self.tableView.reloadData()
}))
答案 0 :(得分:13)
在调用tableView.reloadData()
之前清除数组应该有效。
我假设你的numberOfRowsInSection:
和cellForRowAtIndexPath:
也在使用数组数据来返回正确的值/对象。