检测适用于iOS的URL

时间:2013-06-07 06:11:01

标签: objective-c nsurl

我想检测URL是否有效。所以我看到了以下功能。

+ (id)URLWithString:(NSString *)URLString

正如Apple Documentation所述,NSURL对象已初始化为URLString。如果string格式错误,则返回nil。但实际上,我使用任何URLWithString致电string,它将不返回nil。这个文件错了吗? 您是否可以提供一种解决方法来检测URL是否有效?

1 个答案:

答案 0 :(得分:2)

文档没有错误 - NSURL支持绝对和相对URL。此外,它不仅用于远程(Web)URL,也用于本地文件URL。例如:

// Totally valid NSURL
NSURL *url = [NSURL URLWithString:@"http://google.com"];

// Just as valid NSURL
NSURL *url2 = [NSURL URLWithString:@"2rwehrfuiw34twef"];

您无法保证URL可以访问。它确保您的URL符合RFC 2396.如果您想检查URL是否可用,您可以使用checkResourceIsReachableAndReturnError:方法(从iOS 5开始提供,但用于文件路径URL)或为其发出网络请求(如果您的URL不是文件路径,则必须执行此操作)。