2015-10-20 20 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

感谢您的帮助! –