更改现有Parse数据的问题

时间:2015-07-05 00:09:30

标签: ios swift parse-platform pfquery pfobject

我在我的应用程序中第一次使用Parse,除了当我更改现有数据时,一切似乎都运行良好。我只是想改变一个我存储在我的一个项目列中的字符串值。

这是我目前的代码:

func sendTimeToParse() {
        var query = PFQuery(className: "ClassName")
        query.whereKey("Name", equalTo: rideNamePassed)
        query.getFirstObjectInBackgroundWithBlock {
            (object: PFObject?, error: NSError?) -> Void in
            if error != nil {
                println("The getFirstObject request failed.")
            } else {
                // The find succeeded.
                let object = PFObject(className: "ClassName")
                object.setValue(self.timeSelected, forKey: "WaitTime")
                object.saveInBackground()

                println("Successfully retrieved the object.")
            }
        }
    }
}

目前它似乎只是创建了一个新的数据行并节省了时间,但显然我希望它能够改变与当前记录名称匹配的任何行中的现有数据。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

问题在于您使用行PFObject创建新的let object = PFObject(className: "ClassName"),而不是使用作为参数提供的检索对象。

只需删除行let object = PFObject(className: "ClassName")并打开收到的可选项即可。它看起来像下面这样:

func sendTimeToParse() {
    var query = PFQuery(className: "ClassName")
    query.whereKey("Name", equalTo: rideNamePassed)
    query.getFirstObjectInBackgroundWithBlock {
        (object: PFObject?, error: NSError?) -> Void in
        if error != nil {
            println("The getFirstObject request failed.")
        } else {
            if let obj = object {
                obj.setValue(self.timeSelected, forKey: "WaitTime")
                obj.saveInBackground()
            }
            println("Successfully retrieved the object.")
        }
    }
}