你的位置:首页 > 操作系统

[操作系统]iOS开发中NSURL的基本操作


1.URL

URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL可能包含远程服务器上的资源的位置,本地磁盘上的文件的路径,甚至任意一段编码的数据。
 

2.NSURL

NSURL其实就是我们在浏览器上看到的网站地址,这不就是一个字符串么,为什么还要在写一个NSURL呢?
主要是因为网站地址的字符串都比较复杂,包括很多请求参数,这样在请求过程中需要解析出来每个部门,所以封装一个NSURL,操作很方便。
 

3.用途

(1)可以使用URL对象构造URL和访问他们的部分。例如,[myURL scheme]
(2)对于代表本地文件的url,您也可以直接操作这些文件的属性。例如,修改文件的最后修改日期。
(3)可以使用url进行网络通信。例如,您可以使用NSURLSession NSURLConnection,和NSURLDownload类来访问远程资源的内容。
(4)可以使用url读写本地文件。例如,你可以通过一个本地文件的URL,调用stringWithContentsOfURL方法,得到NSString格式的文件内容。
(5)可以使用url进行通讯。例如:可以用openURL:方法来拨打电话。
(6)可以使用url添加标签。
 
举例:
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com/s?tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709"];      NSLog(@"Scheme: %@", [url scheme]);      NSLog(@"Host: %@", [url host]);      NSLog(@"Port: %@", [url port]);      NSLog(@"Path: %@", [url path]);      NSLog(@"Relative path: %@", [url relativePath]);      NSLog(@"Path components as array: %@", [url pathComponents]);      NSLog(@"Parameter string: %@", [url parameterString]);      NSLog(@"Query: %@", [url query]);      NSLog(@"Fragment: %@", [url fragment]);      NSLog(@"User: %@", [url user]);      NSLog(@"Password: %@", [url password]); 

 


结果:
2015-12-10 21:53:57.171 [4697:358837] Scheme: http2015-12-10 21:53:57.171 [4697:358837] Host: www.baidu.com2015-12-10 21:53:57.172 [4697:358837] Port: (null)2015-12-10 21:53:57.172 [4697:358837] Path: /s2015-12-10 21:53:57.172 [4697:358837] Relative path: /s2015-12-10 21:53:57.172 [4697:358837] Path components as array: (  "/",  s)2015-12-10 21:53:57.172 [4697:358837] Parameter string: (null)2015-12-10 21:53:57.173 [4697:358837] Query: tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=27092015-12-10 21:53:57.173 [4697:358837] Fragment: (null)2015-12-10 21:53:57.173 [4697:358837] User: (null)2015-12-10 21:53:57.173 [4697:358837] Password: (null)