3

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

+ (id)URLWithString:(NSString *)URLString

正如苹果文档所说,一个NSURLURLString. 如果string格式错误,则返回nil。但实际上,我URLWithString用 any调用string,它不会返回nil。这个文档有错吗?您能否提供一种解决方法来检测是否URL有效?

4

1 回答 1

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 不是文件路径,则必须这样做)。

于 2013-06-07T06:39:20.423 回答