从Parse中删除tableView单元格中的对象

时间:2015-11-01 16:51:57

标签: ios swift uitableview parse-platform

我试图从Parse中删除某些对象。用户将能够保存帖子,我正在尝试实现一种方法来删除它们。保存的帖子可以在TableView中找到。

我目前有以下内容。

 override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

    let deleteAction = UITableViewRowAction(style: .Default, title: "Remove") { (action: UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in

        let query = PFQuery(className: "SavedObjects")
        query.orderByDescending("createdAt")
        query.whereKey("savedByUser", equalTo: (PFUser.currentUser()?.username)!)
        query.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error: NSError?) -> Void in
            if error == nil {

                for object in objects! {

                    object.deleteInBackground()
                }
            }
        })

        self.tableView.reloadData()
    }

    deleteAction.backgroundColor = UIColor.redColor()


    return [deleteAction]

}

object.deleteInBackground()确实有效,但会删除用户保存的所有对象。我希望它只删除单元格所代表的对象。

我也试过使用object.deleteInBackgroundWithTarget([indexPath.row], selector: nil),但没有运气。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,我认为您需要通过Parse上保存的相应行的objectId添加另一个query.WhereKey()过滤。这样,对object.deleteInBackground()的调用只会删除您从TableView中选择的单元格。我希望这很有帮助!

瓦莱里奥