【发布时间】:2016-09-03 08:26:45
【问题描述】:
我正在使用Google custom search engine 编写应用程序。
我收到了我的搜索引擎 ID XXXXXXXX219143826571:7h9XXXXXXX(最有趣的部分加粗)。
现在我正在尝试使用 NSURLQueryItem 将我的 ID 嵌入到 URL 中:
let params = ["cx" : engineID,...]
...
components.queryItems = parameters.map {
NSURLQueryItem(name: String($0), value: String($1))
}
它应该将转义项百分比设置为 XXXXXXXX219143826571%3A7h9XXXXXXX(我在测试时使用 Google APIs explorer 时得到的这个值,它显示了使用的 urldress )。它没有这样做。我在没有转义的情况下获取 url,没有任何变化。如果我在此映射中使用转义字符串作为引擎 ID,我将得到转义字符串 XXXXXXXX219143826571%253A7h9XXXXXXX(查询中添加了额外的 '25')。 p>
谁能告诉我如何解决它?我不想使用String,然后通过NSURL(string: str)! 将其转换为URL。不优雅。
编辑:
我正在使用应用程序 Info.plist 来保存 ID,并通过调用来检索它:
String(NSBundle.mainBundle().objectForInfoDictionaryKey("ApiKey")!)
【问题讨论】:
标签: swift nsurlrequest percent-encoding