我正在执行更新操作,想知道如何知道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()
}
}
答案 0 :(得分:2)
而不是saveInBackground
,而是使用方法saveInBackgroundWithBlock:
。这有一个名为succeeded
的布尔参数,您可以使用它来触发警报。
答案 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
函数返回NSError
或PFObject
。如果返回错误,意味着error != nil
,那么您已经知道由于某种原因保存不成功。在您的else
子句中,您已成功返回保存对象时显示警告,因此我不确定为什么您认为这不会像描述的问题那样起作用,除非我误解了您。