为什么initWithScheme初始化NSURL中的尾部斜杠...?

时间:2015-05-10 13:15:26

标签: ios objective-c iphone xcode

使用NSURL初始值设定项

initWithScheme:(NSString *) host:(NSString *) path:(NSString *)

iOS出于某种原因,如果路径以斜杠结尾,则附加两个额外的斜杠,除非它仅为@"/"

enter image description here

有没有人知道为什么会这样,如果有办法, 除了 手动编写网址

[NSURL URLWithString:[NSString stringWithFormat:@"%@://%@%@", scheme, host, path]];

更新:错误报告已发送给Apple。

2 个答案:

答案 0 :(得分:1)

文件路径以" /"开头但不要以" /"结尾。

来自:Uniform resource locator

语法为:

scheme://[user:password@]domain:port/path?query_string#fragment_id

目录路径有一个尾随" /"但似乎- initWithScheme:host:path:不支持它们,可能只是一个Apache惯例。

答案 1 :(得分:1)

您的路径不应以/结尾。以下内容适用:

[[NSURL alloc] initWithScheme:@"http" host:@"example.com" path:@"/hit"])

enter image description here