解包可选值时NSURL为零性格不起作用?

时间:2015-01-25 22:15:10

标签: swift nsurl nsurlrequest

let urlstr = "http://api.themoviedb.org/3/discover/movie?api_key={key}&with_genres=28|27|80|12|53|10752&sort_by=popularity.desc&page=\(pageNum)"

字符串如下所示:

http://api.themoviedb.org/3/discover/movie?api_key={key}&with_genres=28|27|80|12|53|10752&sort_by=popularity.desc&page=1

在我在浏览器中复制和粘贴时工作正常 但是当我尝试创建一个NSURL时,它返回nil

let url = NSURL(string: urlstr)

我试图擦除|从字符串和实际工作,但我需要我的请求,所以我不能这样做,有没有任何方法通过这个?

1 个答案:

答案 0 :(得分:1)

“通过此方式”的方法是提供 legal 网址字符串。你的是非法的,因为管道字符 - 你正确推断 - 所以你将从nil获得NSURL(string: urlstr)结果。

只需用等效的百分比转义顺序替换所有这些管道,一切都会好的。您可以通过拨打NSURL(scheme:host:path:)来获取NSURL来帮助您。