当我取消检查表格行时,我想从Parse中删除一个对象。
在查询对象后尝试从Parse中删除对象时会出现问题。
这是我的代码:
if cell.accessoryType == UITableViewCellAccessoryType.Checkmark {
cell.accessoryType = UITableViewCellAccessoryType.None
var query = PFQuery(className:"Followers")
query.whereKey("follower", equalTo: "\(PFUser.currentUser()?.username)")
query.whereKey("following", equalTo: "\(cell.textLabel?.text)")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
for object in objects as! [PFUser] {
object.deleteInBackground()
}
} else {
println(error)
}
}
}
答案 0 :(得分:3)
我认为问题出在你的query.findObjectsInBackgroundWithBlock中 我认为它是因为你将对象定义为! [PFUser]而不是[PFObject]
试试这个应该做的伎俩
query.findObjectsInBackground { (objects, error) in
if error == nil,
let objects = objects {
for object in objects {
object.deleteInBackground()
}
}
答案 1 :(得分:0)
我想从解析中删除对象
是Parse iOS SDK在Parse server上一次删除背景中的多个对象,您可以使用deleteAllInBackground
您可以通过两种不同的方式使用它:
PFObject.deleteAll(inBackground: [PFObject]?)
PFObject.deleteAll(inBackground: [PFObject]?, block: PFBooleanResultBlock?)
例如:
query.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error: NSError?) -> Void in
PFObject.deleteAll(inBackground: objects)
})
您还可以看到此post
我希望我的回答很有帮助