5

Here I am encoding my string but it gives an error stated above. What I had done is:

let plainData = (password)?.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
let base64String = plainData.base64EncodedStringWithOptions(NSData.Base64EncodingOptions.init(rawValue: 0))

It gives me an error on the second line of code. If anyone can help!

shahin ali agharia
  • 1,629
  • 4
  • 21
  • 36

2 Answers2

9

You need to use base64EncodedString() function of NSData.

let base64String = plainData?.base64EncodedString()

This works with Swift 3.0

Gurdev Singh
  • 1,996
  • 13
  • 11
4

Actually with update of swift version it gives an error. We can do something like:

let plainData = (password)?.data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
let base64String = plainData?.base64EncodedData(options: NSData.Base64EncodingOptions.init(rawValue: 0))

It solved my problem.

shahin ali agharia
  • 1,629
  • 4
  • 21
  • 36
  • You can write it a little bit shorter: `let plainData = password?.data(using: .utf8)` `let base64String = plainData?.base64EncodedData()` – OOPer Dec 20 '16 at 09:31