2016-05-04 1 views
1

Я получаю сообщение об ошибке «Недостающий аргумент» rawValue: «при вызове» при попытке установить заголовок авторизации для проекта проверки подлинности API на основе этого руководства (https://www.raywenderlich.com/85528/user-accounts-ios-ruby-rails-swift#next_section).Преобразование кода swift 1.2 в swift 2: Отсутствует метка аргумента в вызове

Это код, о котором идет речь с вопроса на 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") 
    } 
    } 

Полный код можно найти здесь (https://codeshare.io/uJPcX) в строке 50

ответ

1

Изменение:

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

в :

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