在快速3中模糊地使用'continue'Boltts-Swift

Mur*_*aya 2 parse-platform bolts-framework swift swift3

我正在尝试在我的项目中使用螺栓.

当我尝试使用带有继续的螺栓时,我收到此错误.

Ambiguous use of 'continue'
Run Code Online (Sandbox Code Playgroud)

这也是我的代码.

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)
        }
Run Code Online (Sandbox Code Playgroud)

Jam*_*mey 5

如果你在continue块周围放括号,会有帮助吗?也就是说,你现在使用

.continue ({ })
Run Code Online (Sandbox Code Playgroud)

代替

.continue { }
Run Code Online (Sandbox Code Playgroud)

我有同样的问题,谷歌搜索后发现多次提到这一点,它帮助了我.似乎这成为最近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)
        })
Run Code Online (Sandbox Code Playgroud)