2015-10-20 50 views
1

我有一個字符串:<api address>/<parameters>?fmt=json
當我從字符串創建一個NSURL對象,網址是:<api address>/<parameters>%3Ffmt=json如何在Swift中解碼NSURL中的特殊字符?

當我把這個URL請求(使用NSURLSession),然而,它被拒絕訪問,因爲API需要?並且不接受%3F。如何解碼URL以使?返回以便API接受請求?

UPDATE

NSURL建設

let urlRequestString = "<api url>?fmt=json&api_key=" + <key> let apiRequestURL = NSURL(fileURLWithPath: urlRequestString)

+0

請告訴你如何讓'NSURL'對象 –

+0

@ZoffDino 讓urlRequestString = 「 FMT = JSON&API_KEY =?」 + 讓apiRequestURL = NSURL(fileURLWithPath:urlRequestString) –

+0

你們是不是要加載一個文件,或者與Web服務器通信? –

回答

0

你使用了錯誤的初始化,這是造成虛假的結果。 NSURL(fileURLWithPath: urlRequestString)用於創建file://網址。它將您的URL轉換爲適合文件系統的格式。它僅用於文件使用,所以你不應該在這裏使用它。

如果您將初始化程序更改爲NSURL(string: urlRequestString),那麼您的URL應該是確定的。

+0

感謝您的幫助! –