Неоднозначное использование "continue" Bolts-Swift в swift 3

Я пытаюсь использовать болты в моем проекте.

Я получаю эту ошибку, когда пытаюсь использовать болты с продолжением.

Ambiguous use of 'continue'

и это мой код.

return PFUser._privateDigitsLoginWithConfiguration(configuration: configuration).continue{ task in
            guard let result = task.result as? [String:AnyObject] else {
                return nil
            }
            let requestURLString = result[Constants.requestURLStringKey] as! String
            let authorizationHeader = result[Constants.authorizationHeaderKey] as! String
            print(Constants)
            return PFCloud.callFunction(inBackground: "loginWithDigits", withParameters: ["requestURL": requestURLString, "authHeader": authorizationHeader])
            }.continue {
                PFUser.become(inBackground: $0.result as! String)
        }

1 ответ

Поможет ли вам поставить круглые скобки вокруг блоков продолжения? То есть вы сейчас используете

.continue ({ })

вместо

.continue { }

У меня была та же проблема, и после того, как Гуглинг нашел несколько упоминаний об этом, это помогло мне. Похоже, что это стало требованием для недавнего изменения версии Swift.

Это будет ваш код с круглыми скобками:

return PFUser._privateDigitsLoginWithConfiguration(configuration: configuration).continue ({ task in
            guard let result = task.result as? [String:AnyObject] else {
                return nil
            }
            let requestURLString = result[Constants.requestURLStringKey] as! String
            let authorizationHeader = result[Constants.authorizationHeaderKey] as! String
            print(Constants)
            return PFCloud.callFunction(inBackground: "loginWithDigits", withParameters: ["requestURL": requestURLString, "authHeader": authorizationHeader])
            }).continue ({
                PFUser.become(inBackground: $0.result as! String)
        })
Другие вопросы по тегам