Parse Swift:检查更新是否已成功提交

时间:2015-07-08 11:28:58

标签: ios swift parse-platform

我正在执行更新操作,想知道如何知道saveInBackground是否成功。我正在使用的代码如下。如果成功,我将显示警报视图,如果没有,那么我将显示错误。

query.getObjectInBackgroundWithId(objectId!) {
    (userInstance: PFObject?, error: NSError?) -> Void in
    if error != nil {
        println(error)
    } else if let userInstance = userInstance {
        userInstance["number1"] = number1
        userInstance["number2"] = number2
        userInstance.saveInBackground()
        //self.performSegueWithIdentifier("cancelChangesSegue", sender: nil)

        var alert = UIAlertView()
        alert.title = "Number Updated!"
        alert.message = "You've successfully updatd your number"
        alert.addButtonWithTitle("Great!")
        alert.show()
    }
}

3 个答案:

答案 0 :(得分:2)

而不是saveInBackground,而是使用方法saveInBackgroundWithBlock:。这有一个名为succeeded的布尔参数,您可以使用它来触发警报。

您可以在the official Parse API docs here

上详细了解该方法

答案 1 :(得分:1)

userInstance.saveInBackgroundWithBlock {
    (success: Bool, error: NSError?) -> Void in
        if (success) {
            // The object has been saved.
            // Do stuff here
            var alert = UIAlertView()
            alert.title = "Number Updated!"
            alert.message = "You've successfully updatd your number"
            alert.addButtonWithTitle("Great!")
            alert.show()
        } else {
           // There was a problem, check error.description
        }
}

答案 2 :(得分:0)

您的代码应该已经这样做了。 Parse函数返回NSErrorPFObject。如果返回错误,意味着error != nil,那么您已经知道由于某种原因保存不成功。在您的else子句中,您已成功返回保存对象时显示警告,因此我不确定为什么您认为这不会像描述的问题那样起作用,除非我误解了您。