Swift:清除UITableView单元格

时间:2014-12-31 17:19:59

标签: ios uitableview swift

我有一个变量来存储我已加载到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()
        }))

1 个答案:

答案 0 :(得分:13)

在调用tableView.reloadData()之前清除数组应该有效。

我假设你的numberOfRowsInSection:cellForRowAtIndexPath:也在使用数组数据来返回正确的值/对象。