从解析中删除对象的问题

时间:2015-07-19 18:40:00

标签: ios swift parse-platform

在查询对象时尝试从Parse中删除对象时遇到问题。

我的代码:

        var query = PFQuery(className:"sendMessage")
        query.whereKey("messageSent", equalTo: PFUser.currentUser()!.username!)
        query.whereKey("messageReceived", equalTo: self.nameLabel!.text!)
        query.findObjectsInBackgroundWithBlock({ (objects, NSError) -> Void in

            if  objects != nil {

                if let objects = objects as? [PFObject] {
                    for object in objects {


                        print(object["message"])

                   /// here I would go: object.deleteInBackground()
                                        object.save()

                      }
                 }
               }
         })

但似乎我找不到正确的方法。任何见解?

2 个答案:

答案 0 :(得分:1)

var query = PFQuery(className:"sendMessage")
let username = PFUser.currentUser()?.username
    query.whereKey("messageSent", equalTo: username)
    query.whereKey("messageReceived", equalTo: self.nameLabel!.text!)
    query.findObjectsInBackgroundWithBlock({ (objects:[AnyObject]?, error:NSError) -> Void in
        if  error == nil {
            if let objects = objects as? [PFObject] {
                for object in objects {
                 let deletemessage = object["message"] as! String
                    print(deletemessage)
                    object.delete()
                  }
             }
           } 
            else {
                    println("Error")
               }
     })

答案 1 :(得分:0)

我之前已成功使用deleteEventually(),与PFObject(withoutDataWithClassName: YourClassName, objectId: YourObjectID)一起使用。

如果有效,我不知道为什么,但是好吧:)。

(正如Hector在本解析题(Objective-C)中所述:https://www.parse.com/questions/delete-row

for object in objects {
    print(object["message"]
    var toDelete = PFObject(withoutDataWithClassName: "sendMessage", objectId: object.objectID)
    toDelete.deleteEventually()
}