Swift中的ios – base64EncodedStringWithOptions在编译错误时失败

前端之家收集整理的这篇文章主要介绍了Swift中的ios – base64EncodedStringWithOptions在编译错误时失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
let dataStr = data.base64EncodedStringWithOptions(options: Encoding64CharacterLineLength)

不使用“使用未解析的标识符”编译Encoding64CharacterLineLength’“
当我只是将参数改为零

let dataStr = data.base64EncodedStringWithOptions(options: 0)

它给出了更陌生的错误:“无法转换”String!“类型的表达式键入’String!’“我发现了一种使用NSData初始化NSString的方法(但是,我仍然无法获得String和NSString之间的区别),但我很好奇为什么这两行代码不起作用.

除非明确给出外部名称,Swift中的方法的第一个参数不是命名参数.所以你应该这样做:data.base64EncodedStringWithOptions(x)没有选项:part.

如果您实际查看参数类型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: [])
原文链接:https://www.f2er.com/swift/319802.html

猜你在找的Swift相关文章