2016-09-27 4 views
2

Ich versuche, Schrauben in meinem Projekt zu verwenden.Mehrdeutige Verwendung von 'weiter' Schrauben-Swift in Swift 3

Ich bekomme diesen Fehler, wenn ich versuche, Schrauben mit weiter zu verwenden.

Ambiguous use of 'continue' 

auch dies ist mein Code.

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) 
     } 

Antwort

4

Hilft es, wenn Sie Klammern um die Continue-Blöcke setzen? Das heißt, jetzt Sie

.continue ({ }) 

statt

.continue { } 

benutze ich das gleiche Problem hatte und nach Googeln gefunden Vielfaches davon erwähnt, und es hat mir geholfen. Es scheint so zu sein, dass dies bei einer kürzlichen Swift-Versionswechsel erforderlich wurde.

Dies würde Ihr Code mit den Klammern sein:

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) 
     }) 
Verwandte Themen