Быстрые рамки разбора и замыкания

Это сводит меня с ума.

Я пытаюсь использовать 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.

Другие вопросы по тегам