NSUrl的有效URL字符串变为null

时间:2010-04-21 18:19:58

标签: iphone xamarin.ios

另一个问题,我似乎找到了ObjC的解决方案而不是MonoTouch。

我想要一个来自URL的NSUrl(作为字符串)。

字符串可能包含空格和反斜杠。

为什么NSUrl为这样的字符串返回null,即使这些是浏览器中的有效URL?

例如: NSUrl foo = NSUrl.FromString(@“http://google.com/search?\ query”);

foo == null

有什么建议吗?

4 个答案:

答案 0 :(得分:13)

[NSURL URLWithString:[googlSearchString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

参考文献 Stack Overflow....

答案 1 :(得分:1)

您可能需要先使用

处理字符串
stringByAddingPercentEscapesUsingEncoding: 

...以便可以处理有效的URL。

答案 2 :(得分:0)

URLWithString: 创建并返回使用提供的字符串初始化的NSURL对象。

  • (id)URLWithString:(NSString *)URLString 参数 URLString 用于初始化NSURL对象的字符串。必须是符合RFC 2396的URL。此方法根据RFC 1738和1808解析URLString。(要为文件系统路径创建NSURL对象,请使用fileURLWithPath:isDirectory:)。 回报价值 使用URLString初始化的NSURL对象。如果字符串格式错误,则返回nil。

答案 3 :(得分:0)

NSString * urlString = @"http://example/newcase/path/fileNames"; urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; NSURL * url = [NSURL URLWithString:urlString]; NSLog(@"URL: %@", url);