Быстрые рамки разбора и замыкания
Это сводит меня с ума.
Я пытаюсь использовать 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
}
Я просто получаю "Не могу вызвать 'getFirstObjectInBackgroundWithBlock' со списком аргументов типа '((PFObject?, NSError?) -> Void)'"
Можете ли вы мне помочь? Спасибо
1 ответ
Эта ошибка, которую вы получаете, как вы уже догадались, что вам нужно добавить объект gameScore в качестве дополнительного.
"Невозможно вызвать 'getFirstObjectInBackgroundWithBlock' со списком аргументов типа '((PFObject?, NSError?) -> Void)'"
Это не из-за быстроты или ее ограничений. Это потому, что Parse SDK определяет эту функцию следующим образом. И если Parse не изменит свой API, вам придется использовать дополнительный.
И только мои два цента по этому вопросу, Факультативный здесь в порядке. Либо вы получите PFObject, либо вы получите ошибку, а не оба. Таким образом, один из них будет ноль, следовательно, использование Optional.