let dataStr = data.base64EncodedStringWithOptions(options: Encoding64CharacterLineLength)
不使用“使用未解析的标识符”编译Encoding64CharacterLineLength’“
当我只是将参数改为零
let dataStr = data.base64EncodedStringWithOptions(options: 0)
它给出了更陌生的错误:“无法转换”String!“类型的表达式键入’String!’“我发现了一种使用NSData初始化NSString的方法(但是,我仍然无法获得String和NSString之间的区别),但我很好奇为什么这两行代码不起作用.
除非明确给出外部名称,Swift中的方法的第一个参数不是命名参数.所以你应该这样做:data.base64EncodedStringWithOptions(x)没有选项:part.
原文链接:https://www.f2er.com/swift/319802.html如果您实际查看参数类型NSDataBase64EncodingOptions,您会注意到它是一个符合RawOptionSet的结构,并具有用于选项常量的静态变量.因此使用它们你应该做:NSDataBase64EncodingOptions.Encoding64CharacterLineLength
NSDataBase64EncodingOptions结构(或一般的RawOptionSet)也不能从整数文字转换(如0).但它确实符合NilLiteralConvertible,所以如果你不想要任何选项,你可以通过零.
把它放在一起:
let dataStr = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
要么
let dataStr = data.base64EncodedStringWithOptions(nil)
Swift3.0
let dataStr = data.base64EncodedString(options: [])