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

NSURL的更多相关文章

  1. iOS @@创建NSURL的字面量

    @@ 是创建 NSURL 的字面量的绝佳方法(例如:@@"http://example.com")

  2. NSString NSUrl 相互转化

    //NSString 转为 NSURL NSString *webStr = @"www.baidu.com"; NSURL *webUrl = [NSURL URLWithStr ...

  3. 带中文的路径导致NSURL初始化一直为null的问题

    一.问题描述 在学习Ojective-C过程中,需要读取文件中的内容,但发现指针变量url的值一直为nil. 代码如下: NSString *strUrl=@"file:///Users/f ...

  4. [BS-27] 创建NSURL的几个方法的区别

    创建NSURL的几个方法的区别     URL的基本格式 = 协议://主机地址/路径 URL和Path的区别 * URL:统一资源定位符,格式 “协议+主机名称+路径”   例如:[NSURL UR ...

  5. NSUrl的打印

    1转自 http://my.oschina.net/wangdk/blog/165554: NSURL *url = [NSURL URLWithString:@"http://www.ba ...

  6. NSUrl 的常见用法

    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com/s?tn=baiduhome_pg&bs=NSRUL&f=8 ...

  7. Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】

    ———————————————————————————————————————————从文件中读写字符串(直接读写/通过NSURL读写) #import <Foundation/Foundati ...

  8. iOS开发——网络Swift篇&NSURL进行数据请求(POST与GET)

    NSURL进行数据请求(POST与GET)   使用Swift进行iOS开发时,不可避免的要进行远程的数据获取和提交. 其数据请求的方式既可能是POST也可能是GET.同不管是POST还是GET又可以 ...

  9. 关于NSURL的一些属性的记录

    关于NSURL的一些属性的记录 NSLog(@"%@", request.URL.absoluteString); NSLog(@"%@", request.U ...

  10. 简单使用NSURLConnection、NSURLRequest和NSURL

    以下是代码,凝视也写得比較清楚: 头文件须要实现协议NSURLConnectionDelegate和NSURLConnectionDataDelegate // // HttpDemo.h // My ...

随机推荐

  1. 调用具体webservice方法时时报错误:请求因 HTTP 状态 503 失败: Service Temporarily Unavailable

    添加web引用会在相应项目的app.cofig文件中产生如下代码: <sectionGroup name="applicationSettings" type="S ...

  2. 轻量级的中文分词工具包 - IK Analyzer

    IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本.最初,它是以开源项目Luence为应用 ...

  3. arry()数组的理解及api的使用(一)

    我们想要了解数组,首先就要先要了解到什么是数据结构,所谓的数据结构就是把数据与数据见的关系按照特定的结构来保存.设计合理的数据结构是解决问题的前提.了解了数据结构后我们下面来数组的定义:数组(arra ...

  4. vector-2

    assign函数 语法: void assign( input_iterator start, input_iterator end ); void assign( size_type num, co ...

  5. 为什么memset不能将数组元素初始化为1?

    原型:extern void *memset(void *buffer, int c, int count); 功能:把buffer所指内存区域的前count个字节设置成字符c. 包含头文件:< ...

  6. DNF(一.YUM已死,DNF代之)

    Yum还没学好呢,突然听到已经要被抛弃了.恐慌至极.. 在最新版的Fedora 22 抛弃了Yum包管理器,取而代之的是DNF.. 那么搜搜 Fedora 22 Release Note.. 官方给出 ...

  7. POJ1722 动态规划

    POJ1722 问题重述: 给定一个数组a[1,2,..,n] .定义数组第i位上的减操作:把ai和ai+1换成ai - ai+1.输入一个n位数组以及目标整数t,求一个n-1次操作序列,使得最后剩下 ...

  8. .net mvc结合微软提供的FormsAuthenticationTicket登陆

    一.Web.config <system.web> <compilation debug="true" targetFramework="4.5&quo ...

  9. Android-2

    传递简单数据 //发送方i.putExtra("data",t.getText().toString()); //接收方Intent i = getIntent();m = (Ed ...

  10. Android处理XML的三种方式

    http://www.cnblogs.com/zhangdongzi/archive/2011/04/14/2016434.html http://blog.csdn.net/zzp16/articl ...