2016-05-04 5 views
1

Ich erhalte eine Fehlermeldung "Missing argument label 'rawValue:' in call" beim Festlegen des Autorisierungsheaders für ein API-Authentifizierungsprojekt basierend auf diesem Lernprogramm (https://www.raywenderlich.com/85528/user-accounts-ios-ruby-rails-swift#next_section).Konvertieren von Swift 1.2-Code in Swift 2: Fehlende Argumentbezeichnung im Aufruf

Dies ist der Code in Frage mit der Frage an den let base64EncodedString = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0))

switch authType { 
    case .HTTPBasicAuth: 
    // Set BASIC authentication header 
    let basicAuthString = "\(HTTPHelper.API_AUTH_NAME):\(HTTPHelper.API_AUTH_PASSWORD)" 
    let utf8str = basicAuthString.dataUsingEncoding(NSUTF8StringEncoding) 
    let base64EncodedString = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0)) 

    request.addValue("Basic \(base64EncodedString!)", forHTTPHeaderField: "Authorization") 
    case .HTTPTokenAuth: 
    // Retreieve Auth_Token from Keychain 
    if let userToken = KeychainAccess.passwordForAccount("Auth_Token", service: "KeyChainService") as String? { 
     // Set Authorization header 
     request.addValue("Token token=\(userToken)", forHTTPHeaderField: "Authorization") 
    } 
    } 

Der vollständige Code finden Sie hier (https://codeshare.io/uJPcX) in Zeile 50

Antwort

1

Wechsel:

let base64EncodedString = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0)) 

zu :

let base64EncodedString = utf8str?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))