我试图从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)
,但没有运气。
答案 0 :(得分:0)
如果我正确理解了您的问题,我认为您需要通过Parse上保存的相应行的objectId添加另一个query.WhereKey()
过滤。这样,对object.deleteInBackground()
的调用只会删除您从TableView中选择的单元格。我希望这很有帮助!
瓦莱里奥