在TableView中按下自定义按钮后重新加载整个ViewController

时间:2016-03-20 15:23:21

标签: ios swift uitableview

我在自定义UIButton中添加了2 UITableViewCell

当按下所显示的对象(在本例中为用户)时,会按下某些内容。现在我希望行/单元格消失。我的想法是通过触发viewDidLoad()viewDidAppear()函数重新加载屏幕, 因为我使用PFQueries获取用户数据并在我的表视图中显示它们。

发生的事情是,除了删除该行,因为我的查询不应该找到数据,它只是再次添加相同的内容。

有没有更好的方法来解决这个问题?我想删除行并重做我的查询。

1 个答案:

答案 0 :(得分:1)

要从表中删除行,您可以使用如下函数:

// Add this function to your ViewController
func tableDeleteRow(indexPath: NSIndexPath) {

    // IMPLEMENT ME:
    // first, remove the item from the data that drives the tableView.

    // This is what I do. Yours will be different.
    // self.tableData.removeAtIndex(indexPath.row)

    // tell the table to delete the row
    dispatch_async(dispatch_get_main_queue()) {
        // Code

        print("remove from table")
        self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
    }

}

如果您要重新加载整个表并重做从服务器获取的数据,请执行以下操作:

// This is pseudo code.
func tableRefresh() {

    // this is a pseudo code function.
    // replace it with your own.
    get_data_from_server() {
        (data, response, error) in
        // do something with data
        dispatch_async(dispatch_get_main_queue()) {
            print("refresh table")
            self.tableView.reloadData()
        }

    }
}