当前位置:  开发笔记 > 编程语言 > 正文

Swift中的base64EncodedStringWithOptions因编译错误而失败

如何解决《Swift中的base64EncodedStringWithOptions因编译错误而失败》经验,为你挑选了3个好方法。



1> slazyk..:

除非明确给出外部名称,否则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: [])


看起来像Xcode 7 beta 4传递nil不再编译.文档说"使用以下零或一个......"但是传递0也不能编译.对我来说有用的是`NSDataBase64EncodingOptions(rawValue:0)`如果你不想使用任何选项
对于Swift 2.x使用:`let dataStr = data.base64EncodedStringWithOptions([])`通常,选项现在可以作为数组提供.

2> zaph..:

对于Swift 2.x,使用数组作为选项:

let dataStr = data.base64EncodedStringWithOptions([.Encoding64CharacterLineLength])
let dataStr = data.base64EncodedStringWithOptions([])



3> Kiran P Nair..:

对于swift 3.0使用这个,

var dataStr = data.base64EncodedString(options: .lineLength64Characters)

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有