在控制台中打印字符串结果为 (Function)。为什么?
Printing a string results in (Function) in console. Why?
我正在尝试创建一个 base64 基本身份验证 header 以用于 API。在 swift 2.0 和 iOS9 中它开始给我带来问题,所以我想检查 headers 或 base64Credentials 的内容。不幸的是,我看到的只是(函数)。
let credentialData = "demo@demo.com:demo123".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions
let headers = ["Authorization": "Basic \(base64Credentials)"]
print("Here are the base64 encoded headers \(base64Credentials)")
产量
这里是base64编码的headers(函数)
如何找出这些字符串的值?
我是否遗漏了 Swift 2.0 中突然出现问题的新内容?
谢谢,
乔希
public func base64EncodedStringWithOptions(options: NSDataBase64EncodingOptions) -> String
是一个实例方法。调用函数和方法
括号中的零个或多个参数。在这种情况下,我们有一个
参数,可以是 []
没有选项:
let credentialData = "demo@demo.com:demo123".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
print("Here are the base64 encoded headers \(base64Credentials)")
// Here are the base64 encoded headers ZGVtb0BkZW1vLmNvbTpkZW1vMTIz
在你的代码中
let base64Credentials = credentialData.base64EncodedStringWithOptions
方法本身被分配给变量,并打印
作为“(函数)”。
Am I missing something new in Swift 2.0 that has suddenly made this a problem?
不,这与 Swift 1.2 中的问题相同。唯一的区别
是参数的 type,在 Swift 1.2 中你会指定
"no options" 作为 nil
而不是 []
。
我正在尝试创建一个 base64 基本身份验证 header 以用于 API。在 swift 2.0 和 iOS9 中它开始给我带来问题,所以我想检查 headers 或 base64Credentials 的内容。不幸的是,我看到的只是(函数)。
let credentialData = "demo@demo.com:demo123".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions
let headers = ["Authorization": "Basic \(base64Credentials)"]
print("Here are the base64 encoded headers \(base64Credentials)")
产量
这里是base64编码的headers(函数)
如何找出这些字符串的值?
我是否遗漏了 Swift 2.0 中突然出现问题的新内容?
谢谢,
乔希
public func base64EncodedStringWithOptions(options: NSDataBase64EncodingOptions) -> String
是一个实例方法。调用函数和方法
括号中的零个或多个参数。在这种情况下,我们有一个
参数,可以是 []
没有选项:
let credentialData = "demo@demo.com:demo123".dataUsingEncoding(NSUTF8StringEncoding)!
let base64Credentials = credentialData.base64EncodedStringWithOptions([])
print("Here are the base64 encoded headers \(base64Credentials)")
// Here are the base64 encoded headers ZGVtb0BkZW1vLmNvbTpkZW1vMTIz
在你的代码中
let base64Credentials = credentialData.base64EncodedStringWithOptions
方法本身被分配给变量,并打印 作为“(函数)”。
Am I missing something new in Swift 2.0 that has suddenly made this a problem?
不,这与 Swift 1.2 中的问题相同。唯一的区别
是参数的 type,在 Swift 1.2 中你会指定
"no options" 作为 nil
而不是 []
。