gpt4 book ai didi

Swift 解析框架和闭包

转载 作者:行者123 更新时间:2023-11-28 13:12:48 25 4
gpt4 key购买 nike

这简直让我发疯。

我想在 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
}

我只是得到一个“无法使用类型为‘((PFObject?, NSError?) -> Void)’的参数列表调用‘getFirstObjectInBackgroundWithBlock’”

你能帮帮我吗?谢谢

最佳答案

正如您已经猜到的那样,您遇到的这个错误是您需要将 gameScore 对象作为可选对象。

"Cannot invoke 'getFirstObjectInBackgroundWithBlock' with an argument list of type '((PFObject?, NSError?) -> Void)'"

这不是因为 swift 或其局限性。这是因为 Parse SDK 定义了那个函数。除非 Parse 更改其 API,否则您将不得不使用可选的。

关于这件事,只有我的两分钱,这里有一个可选的。要么你会得到一个 PFObject,要么你会得到一个错误,而不是两者。因此其中之一将为零,因此使用 Optional。

关于Swift 解析框架和闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30671927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com