将swift 1.2代码转换为swift 2:在调用中缺少参数标签

时间:2016-05-04 03:07:24

标签: ios ruby-on-rails swift

我在尝试根据本教程(https://www.raywenderlich.com/85528/user-accounts-ios-ruby-rails-swift#next_section)设置API身份验证项目的授权标头时收到“缺少参数标签'rawValue:'in call”错误。

这是与

中的问题有关的代码
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:
    // Retrieve 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 个答案:

答案 0 :(得分:1)

变化:

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

为:

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