第二个正斜杠会发生什么?
What happens to the second forward slash?
为什么
"http://blah/".stringByAppendingPathComponent("foo")
return
"http:/blah/foo"
注意去掉的正斜杠。
如果您阅读 stringByAppendingPathComponent 的文档,您将看到以下语句:
Note that this method only works with file paths (not, for example,
string representations of URLs).
stringByAppendingPathComponent 的实现是"fixing"它认为格式错误的文件路径。
您应该使用 NSURL 或 stringByAppendingString。
方法 stringByAppendingPathComponent
应该与文件路径一起使用,而不是与 url 一起使用,所以我的感觉是方法逻辑正在考虑 //
一个错误并修复它。
您需要先将 link 转换为 NSURL,然后您可以使用 URLByAppendingPathComponent:
if let blaFooURL = NSURL(string:"http://blah/")?.URLByAppendingPathComponent("foo") {
println(blaFooURL) // "http://blah/foo"
}
为什么
"http://blah/".stringByAppendingPathComponent("foo")
return
"http:/blah/foo"
注意去掉的正斜杠。
如果您阅读 stringByAppendingPathComponent 的文档,您将看到以下语句:
Note that this method only works with file paths (not, for example, string representations of URLs).
stringByAppendingPathComponent 的实现是"fixing"它认为格式错误的文件路径。
您应该使用 NSURL 或 stringByAppendingString。
方法 stringByAppendingPathComponent
应该与文件路径一起使用,而不是与 url 一起使用,所以我的感觉是方法逻辑正在考虑 //
一个错误并修复它。
您需要先将 link 转换为 NSURL,然后您可以使用 URLByAppendingPathComponent:
if let blaFooURL = NSURL(string:"http://blah/")?.URLByAppendingPathComponent("foo") {
println(blaFooURL) // "http://blah/foo"
}