只有在离开和返回时才删除/添加单元格

时间:2015-04-30 20:05:14

标签: ios uitableview swift

我认为没有必要为此问题发布我的代码。我只是在寻找解释或可能是一行代码来解决我的问题。当我在我的应用程序中删除或添加cellForRowAtIndexPath时,它会被添加或删除到Parse,但是直到转到不同的屏幕并返回时才会出现在应用程序中。我尝试移动删除并将代码添加到ViewDidLoad和ViewWillAppear

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
    if editingStyle == .Delete {
        var object: PFObject = self.items[indexPath.row] as PFObject
        let alert : UIAlertView = UIAlertView(title: "Item deleted from cart!", message: "", delegate: self, cancelButtonTitle: "Dismiss")
        alert.show()

        object.deleteInBackgroundWithBlock({ (succeed, error) -> Void in

            self.tableView.reloadData()

        })
    }
}

3 个答案:

答案 0 :(得分:1)

您正在从Parse中删除该项目,但您没有从self.items数组中删除该项目,该数组可能是您的表格视图的数据源。可能会在Parse的self.itemsviewDidLoad方法中初始化viewWillAppear数组,这就是您回到屏幕时看到它更新的原因。只是一个猜测。

答案 1 :(得分:0)

尝试tableView.reloadData()

您需要为iOS调用该方法以再次查看数据源并呈现tableView。

答案 2 :(得分:0)

        items.removeAtIndex(indexPath.row)

必须在object.deleteInBackgroundWithBlock

上面添加这一行