带字符串的NSURL

Mau*_*lik 33 iphone nsurl

我有NSURL的问题.我正在尝试用字符串创建NSURL

    NSString *prefix = (@"tel://1234567890 ext. 101");
    NSString *dialThis = [NSString stringWithFormat:@"%@", prefix];
    NSURL *url = [[NSURL alloc] initWithString:dialThis];
    NSLog(@"%@",url);
Run Code Online (Sandbox Code Playgroud)

也试过了

    NSURL *url = [NSURL URLWithString:dialThis];
Run Code Online (Sandbox Code Playgroud)

但它给出了null.怎么了 ?

谢谢..

Jim*_*ler 58

您的问题是URL中未转义的空格.例如,这可以工作:

    NSURL *url = [NSURL URLWithString:@"tel://1234567890x101"];
Run Code Online (Sandbox Code Playgroud)

编辑:就像这样..

    NSURL *url2 = [NSURL URLWithString:[@"tel://1234567890 ext. 101"
        stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
Run Code Online (Sandbox Code Playgroud)

  • 这是因为%20表示转义URI中的空格字符. (3认同)