ios - Swift Playground 无法识别 Cocoa Touch 初始值设定项

标签 ios swift swift-playground

我在 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/

相关文章:

iOS UIPickerView 自定义行 View 宽度错误

ios - 使用 JSON 将 iTunes 中的图像解析为 tableviewcontroller

ios - UIDocumentInteractionController 更改呈现 View 的标题

ios - EventKit 从日历中删除事件

swift - 当我将 @objc 推理更改为关闭时(在我转换为 Swift 4 的项目上),为什么我的 UIPickerView 项目不会显示?

ios - Swift Playgrounds 中的 JavaScriptCore

ios - 如何忽略 SwiftUI 模态背景,或使模态背景清晰/透明?

ios - 从用户位置查找数组中最近的经度和纬度 - iOS Swift

ios - Swift Playground - 对类使用未实现的初始化程序 'init(size:)'

swift - 二元运算符/不能应用于 Int 和 Double 类型的操作数