Ошибки при использовании PFUser.getCurrentUserInBackground () - PullRequest
0 голосов
/ 16 марта 2019

Я использую Parse и PFUser в приложении Swift для iOS и попал в случай, когда PFUser.current () не выполняет именно то, что я хочу, из-за проблем с синхронизацией.

По этой причине я пытаюсь использовать: PFUser.getCurrentUserInBackground () .

Я начал с кода ниже, вдохновленного тем, что можно найти здесь: https://github.com/BoltsFramework/Bolts-ObjC.

Но этот документ, вероятно, немного устарел, он не совсем работает.

let userCheckTask = PFUser.getCurrentUserInBackground()
userCheckTask.continueWith {
    (task: BFTask!) -> BFTask<AnyObject> in
    if task.isCancelled() { // Error-1.
        // the save was cancelled.
    } else if task.error != nil {
        // the save failed.
    } else {
        // the object was saved successfully.
        var object = task.result() as PFObject // Error-2.
    }
}

Компилятор выдаёт мне две ошибки, одну в строке с надписью «Ошибка-1»

Cannot invoke 'isCancelled' with no arguments

А этот другой в строке с пометкой «Ошибка-2»

Expression type 'PFUser?' is ambiguous without more context

Понятия не имею, какого рода аргумент isCancelled ожидает.

Кто-нибудь знает, как это исправить?

1 Ответ

1 голос
/ 18 марта 2019
let userCheckTask = PFUser.getCurrentUserInBackground()
userCheckTask.continueWith {
    (task: BFTask) -> BFTask<AnyObject> in
    if let e = task.error {
        return BFTask(error: e)
    } else {
        return BFTask(result: task.result)
    } 
}
...