更改现有 Parse 数据的问题

Issues with changing existing Parse data

我是第一次在我的应用程序中使用 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.")
            }
        }
    }
}

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

有人有什么建议吗?

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

只需删除行 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.")
        }
    }
}