我正在尝试从 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)
但没有成功。
最佳答案
如果我对您的问题的理解正确,我认为您需要添加另一个 query.WhereKey()
过滤,通过保存在 Parse 上的相应行的 objectId 进行过滤。这样,调用 object.deleteInBackground()
只会删除您从 TableView 中选择的单元格。我希望这对您有所帮助!
瓦莱里奥
关于ios - 从 Parse 中删除 tableView 单元格中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464626/