如何从Parse中删除对象?

时间:2015-08-17 15:50:17

标签: ios swift xcode parse-platform parse-server

当我取消检查表格行时,我想从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)
                }
            }


        }

2 个答案:

答案 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 SDKParse 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

我希望我的回答很有帮助