我在 Playground 上有这段非常简单和简短的代码:
import Foundation
let data = NSData(base64EncodedString: "key", options: kNilOptions)
但是 playground 不喜欢它,认为我想使用 init(bytes:length:)
。那里有什么问题?
编辑:
澄清一下,显示的问题是:
Playground execution failed: <EXPR>:13:18: error: incorrect argument labels in call
(have 'base64EncodedString:options:', expected 'bytes:length:')
let data = NSData(base64EncodedString: "key", options: kNilOptions)
^~~~~~~~~~~~~~~~~~~~ ~~~~~~~
bytes length
最佳答案
NSDataBase64DecodingOptions
是一个 RawOptionSetType
继承自
NilLiteralConvertible
,因此您可以为“无选项”指定 nil
:
let data = NSData(base64EncodedString: "SGVsbG8gd29ybGQNCg==", options: nil)
更新:从 Swift 2 开始, NS_OPTIONS 类型被导入为符合 OptionSetType
协议(protocol),该协议(protocol)为选项提供了类似集合的接口(interface)。 “无选项”可以指定为空集:
let data = NSData(base64EncodedString: "SGVsbG8gd29ybGQNCg==", options: [])
关于ios - Swift Playground 无法识别 Cocoa Touch 初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26255408/