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. .net 实现注册邮箱验证激活

    没事上网当了个注册邮箱验证激活的代码,用起来感觉还不错,特意和大家要一起分享一下 下面是主要实现代码: uing System.Net.Mail; public partial class jquer ...

  2. 删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)

    删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突.) use msdb select * from sysmaintplan_plans --查看 ...

  3. RegExp子模式- "()"

    读书笔记 把JavaScript权威指南拿出来瞅瞅,正巧看到了第十章 正则表达式的模式匹配 最初接触js的时候,基本上都是在做验证.什么数字验证.命名验证.身份证格式验证.电话号码验证.都是用正则表达 ...

  4. C#通过生成ini文件,记住用户关闭程序之前的选择+忽略跨线程检查

    1.在类的里面添加 //写配置文件 [DllImport("kernel32")] private static extern long WritePrivateProfileSt ...

  5. Oracle11.2.0.4 RAC安装文档

    1 环境配置 参考官方文档<Grid Infrastructure Installation Guide for Linux> 1.1 软件环境 操作系统: [root@howe1 ~]# ...

  6. Freemarker日期函数处理【转】

    Freemarker日期函数处理[转] (2012-08-01 14:32:13) 转载▼ 标签: 杂谈   string(当和一个日期值一起使用) 这个内置标签用指定的格式把日期转换成字符串,(把默 ...

  7. JavaScript可否多线程? 深入理解JavaScript定时机制(转载)

    说明:最近写 js 时需要用setinterval函数做定时操作,谁知道,刚开始后运行完好,但一段时间后他就抽风了,定时任务运行的时间间隔越来越短,频率加快,这是一个完全不能容忍的问题,带着一个可以出 ...

  8. AutoResetEvent 类的使用说明

    AutoResetEvent 类 官方描述:通知正在等待的线程已发生事件 命名空间:System.Threading 程序集:mscorlib 继承于:System.Threading.WaitHan ...

  9. 深入理解Azure自动扩展集VMSS(2)

    VMSS中Auto Scale基本原理及诊断 在前面的介绍中,我们看到通过定义规则可以实现虚拟机扩展集的auto scale,那么在后台执行上VMSS的扩展依赖于哪些组件,出现问题(比如自动扩展没有发 ...

  10. 使用 JUnit 进行单元测试 - 教程

    tanyuanji@126.com 版本历史 JUnit 该教程主要讲解 JUnit 4.x 版本的使用,以及如何在Eclipse IDE 中如何使用JUnit   目录 tanyuanji@126. ...