Swift 解析框架和闭包
Swift parse framework and closures
这简直让我抓狂。
我正在尝试在 swift 中使用 getFirstObjectInBackgroundWithBlock()
方法,但我不知道如何(不)使用选项 ..
我只想从解析服务器获取用户的分数我是这样做的:
func updateScoreForCurrentUser(score: Int){
let user = PFUser.currentUser()
// get gameScore for user
var query = PFQuery(className: "GameScore")
query.whereKey("User", equalTo: user!)
query.getFirstObjectInBackgroundWithBlock { (gameScore: PFObject, error: NSError?) -> Void in
gameScore["score"] = score
}
我刚刚得到一个"Cannot invoke 'getFirstObjectInBackgroundWithBlock' with an argument list of type '((PFObject?, NSError?) -> Void)'"
你能帮帮我吗?谢谢
正如您已经猜到的那样,您收到的这个错误是您需要将 gameScore 对象作为可选对象。
"Cannot invoke 'getFirstObjectInBackgroundWithBlock' with an argument
list of type '((PFObject?, NSError?) -> Void)'"
这不是因为 swift 或其限制。这是因为 Parse SDK 定义了那个函数。除非 Parse 更改其 API,否则您将不得不使用可选的。
关于这件事,只有我的两分钱,这里有一个可选的。
要么你会得到一个 PFObject,要么你会得到一个错误,而不是两者。所以其中之一将为零,因此使用 Optional.
这简直让我抓狂。
我正在尝试在 swift 中使用 getFirstObjectInBackgroundWithBlock()
方法,但我不知道如何(不)使用选项 ..
我只想从解析服务器获取用户的分数我是这样做的:
func updateScoreForCurrentUser(score: Int){
let user = PFUser.currentUser()
// get gameScore for user
var query = PFQuery(className: "GameScore")
query.whereKey("User", equalTo: user!)
query.getFirstObjectInBackgroundWithBlock { (gameScore: PFObject, error: NSError?) -> Void in
gameScore["score"] = score
}
我刚刚得到一个"Cannot invoke 'getFirstObjectInBackgroundWithBlock' with an argument list of type '((PFObject?, NSError?) -> Void)'"
你能帮帮我吗?谢谢
正如您已经猜到的那样,您收到的这个错误是您需要将 gameScore 对象作为可选对象。
"Cannot invoke 'getFirstObjectInBackgroundWithBlock' with an argument list of type '((PFObject?, NSError?) -> Void)'"
这不是因为 swift 或其限制。这是因为 Parse SDK 定义了那个函数。除非 Parse 更改其 API,否则您将不得不使用可选的。
关于这件事,只有我的两分钱,这里有一个可选的。 要么你会得到一个 PFObject,要么你会得到一个错误,而不是两者。所以其中之一将为零,因此使用 Optional.