解析:使用Swift删除列中的对象值

时间:2015-02-04 17:39:13

标签: ios swift parse-platform

我之前在其他应用中成功使用过Parse但从未使用过删除功能。我试图删除与Parse中的用户关联的列(列标题为'字母')中的值(字母)。我正在使用Swift。代码通过删除代码中的println找到正确的值,但在执行删除和保存功能后没有发生任何事情。该值仍然在列中。而且我没有得到任何Parse错误。代码如下。任何帮助,一如既往,将不胜感激。

var query = PFQuery(className: "game")

    query.whereKey("player", equalTo:PFUser.currentUser())

    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]!, error: NSError!) -> Void in
        if !(error != nil) {
            for object in objects {

                var myLetter = object["letter"]! as String

                println("The object for key letter is \(myLetter)") //This prints the correct letter in the current user's Letter column

                PFUser.currentUser().removeObjectForKey("letter")

                PFUser.currentUser().saveInBackgroundWithBlock{
                                (success: Bool, error: NSError!) -> Void in
                                if (success) {
                                    // The object has been saved.
                                    println("success")

                                } else {
                                    // There was a problem, check error.description
                                    println(error)
                                }
                            }
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

我认为问题在于您正在创建新的Parse查询并在本地删除它,而不是检索项目然后将其删除。因此,检索要删除的项目,然后调用deleteInBackground方法。