2015-09-14 172 views
0

我正在嘗試創建一個base64基本身份驗證標頭以供API使用。在swift 2.0和iOS9中,它開始給我帶來問題,所以我想檢查標頭或base64Credentials的內容。不幸的是,我所看到的只是(功能)。在控制檯中打印字符串(功能)。爲什麼?

let credentialData = "[email protected]:demo123".dataUsingEncoding(NSUTF8StringEncoding)! 
    let base64Credentials = credentialData.base64EncodedStringWithOptions 

    let headers = ["Authorization": "Basic \(base64Credentials)"] 

    print("Here are the base64 encoded headers \(base64Credentials)") 

息率

這裏的base64編碼頭(功能)

我怎樣才能找出這些字符串的值?

我錯過了Swift 2.0中突然出現這個問題的新東西嗎?

謝謝

喬希

回答

2
public func base64EncodedStringWithOptions(options: NSDataBase64EncodingOptions) -> String 

是一個實例方法。函數和方法在括號中用零個或多個參數調用 。在這種情況下,我們有一個 的說法,這可能是[]毫無選擇:

let credentialData = "[email protected]: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 

方法本身被分配的變量,那打印 爲「(功能)」。

我錯過了Swift 2.0中突然出現這個問題的新東西嗎?

不,這將是雨燕1.2相同的問題。唯一的區別 是類型的參數,在Swift 1.2中,您將指定 「no options」爲nil而不是[]

+0

這是現貨。我們給它零,但從2.0到不正確,所以我們最終擺脫了它導致這個問題。謝謝您的幫助!很好的解釋。 –

相關問題