为什么
"http://blah/".stringByAppendingPathComponent("foo")
返回
"http:/blah/foo"
注意丢弃的正斜杠。
答案 0 :(得分:3)
如果您阅读了stringByAppendingPathComponent的文档,您将看到以下声明:
请注意,此方法仅适用于文件路径(例如, URL的字符串表示。)
stringByAppendingPathComponent的实现是"修复"它认为是一个格式错误的文件路径。
您应该使用NSURLs或stringByAppendingString。
答案 1 :(得分:0)
方法stringByAppendingPathComponent
应该与文件路径一起使用,而不是与网址一起使用,所以我的感觉是方法逻辑正在考虑//
错误并修复它。
答案 2 :(得分:0)
您需要先将链接转换为NSURL,然后才能使用URLByAppendingPathComponent:
if let blaFooURL = NSURL(string:"http://blah/")?.URLByAppendingPathComponent("foo") {
println(blaFooURL) // "http://blah/foo"
}