除非明确给出外部名称,否则Swift中方法的第一个参数不是命名参数.所以你应该这样做:data.base64EncodedStringWithOptions(x)
没有options:
部分.
如果您实际查看参数类型,NSDataBase64EncodingOptions
您会注意到它是一个符合RawOptionSet
选项常量的静态变量的结构.因此,要使用它们,您应该:NSDataBase64EncodingOptions.Encoding64CharacterLineLength
所述NSDataBase64EncodingOptions
结构(或RawOptionSet
一般的)也是从整数常量(如不可兑换0
).但NilLiteralConvertible
如果您不想要任何可以通过的选项,它确实符合要求nil
.
把它放在一起:
let dataStr = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
要么
let dataStr = data.base64EncodedStringWithOptions(nil)
Swift3.0
let dataStr = data.base64EncodedString(options: [])
对于Swift 2.x,使用数组作为选项:
let dataStr = data.base64EncodedStringWithOptions([.Encoding64CharacterLineLength]) let dataStr = data.base64EncodedStringWithOptions([])
对于swift 3.0使用这个,
var dataStr = data.base64EncodedString(options: .lineLength64Characters)