NSURL

时间:2022-06-24 21:11:39

1. NSURL的简介

  URL是对可以从互联网上得到的资源的位置和访问方法的一种简介的表示,是互联网上标准资源的地址。URL可能包含远程服务器上的资源位置,本地磁盘上的文件的路径,甚至任意一段编码的数据。NSURL是为了方便我们操作。

2. NSURL的用途

(1)对于代表本地文件的url,您也可以直接操作这些文件的属性。例如,修改文件的最后修改日期。

(2)可以使用url进行网络通信。例如,您可以使用NSURLSession NSURLConnection,和NSURLDownload类来访问远程资源的内容。

(3)可以使用url读写本地文件。例如,你可以通过一个本地文件的URL,调用stringWithContentsOfURL方法,得到NSString格式的文件内容。

(4)可以使用url进行通讯。例如:可以用openURL:方法来拨打电话。

3 .举例

(1)URL的初始化

NSURL * url = [NSURL URLWithString:@"http://www.baidu.com/search?id=1"];

(2)UTF8编码

NSString * UTF8String = [[NSString  alloc] init];

UTF8String = [UTF8String stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

(3)根据文件名称和文件后缀获取程序包内容文件的路径

NSURL *filePathString = [[NSBundle mainBundle]           URLForResource:@"simple"withExtension:@"html"subdirectory:@"KindEditor/examples"];

//URLForResource:文件名称

//withExtension:文件后缀

//subdirectory:在程序包中的哪个子目录中寻找.

//如果没有找到将会返回nil

NSString * filePathString = [[NSString alloc] init];

[filePathString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL * url_1 = [NSURL fileURLWithPath:filePathString];

(4)URL的组成部分

NSLog(@"协议:%@",[url scheme]);

NSLog(@"主体:%@",[url host]);

NSLog(@"完整的url字符串:%@",[url absoluteString]);

NSLog(@"完整的url:%@",[url absoluteURL]);

NSLog(@"%@",[url baseURL]);

NSLog(@"%s",[url fileSystemRepresentation]); //描述的文件系统表示格式和字体文件编码

NSLog(@"%@",[url fragment]);                 //标示符

NSLog(@"最后一个组件:%@",[url lastPathComponent]);        //最后一个组件

NSLog(@"参数字符串:%@",[url parameterString]);

NSLog(@"密码:%@",[url password]);

NSLog(@"用户:%@",[url user]);

NSLog(@"路径:%@",[url path]);

NSLog(@"URL的路径组成:%@",[url pathComponents]);

NSLog(@"URL的扩展路径:%@",[url pathExtension]);

NSLog(@"URL的端口号:%@",[url port]);

NSLog(@"URL的查询字符串:%@",[url query]);

NSLog(@"URL的资源说明符:%@",[url resourceSpecifier]);

2016-03-23 11:27:34.249 NSURL[1343:60114] 协议:http

2016-03-23 11:27:34.250 NSURL[1343:60114] 主体:www.baidu.com

2016-03-23 11:27:34.250 NSURL[1343:60114] 完整的url字符串:http://www.baidu.com/search?id=1

2016-03-23 11:27:34.250 NSURL[1343:60114] 完整的url:http://www.baidu.com/search?id=1

2016-03-23 11:27:34.250 NSURL[1343:60114] (null)

2016-03-23 11:27:34.251 NSURL[1343:60114] /search

2016-03-23 11:27:34.251 NSURL[1343:60114] (null)

2016-03-23 11:27:34.251 NSURL[1343:60114] 最后一个组件:search

2016-03-23 11:27:34.251 NSURL[1343:60114] 参数字符串:(null)

2016-03-23 11:27:34.251 NSURL[1343:60114] 密码:(null)

2016-03-23 11:27:34.251 NSURL[1343:60114] 用户:(null)

2016-03-23 11:27:34.252 NSURL[1343:60114] 路径:/search

2016-03-23 11:27:34.252 NSURL[1343:60114] URL的路径组成:(

    "/",

    search

)

2016-03-23 11:27:34.252 NSURL[1343:60114] URL的扩展路径:

2016-03-23 11:27:34.252 NSURL[1343:60114] URL的端口号:(null)

2016-03-23 11:27:34.252 NSURL[1343:60114] URL的查询字符串:id=1

2016-03-23 11:27:34.252 NSURL[1343:60114] URL的资源说明符://www.baidu.com/search?id=1