NSURL
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的更多相关文章
- iOS @@创建NSURL的字面量
@@ 是创建 NSURL 的字面量的绝佳方法(例如:@@"http://example.com")
- NSString NSUrl 相互转化
//NSString 转为 NSURL NSString *webStr = @"www.baidu.com"; NSURL *webUrl = [NSURL URLWithStr ...
- 带中文的路径导致NSURL初始化一直为null的问题
一.问题描述 在学习Ojective-C过程中,需要读取文件中的内容,但发现指针变量url的值一直为nil. 代码如下: NSString *strUrl=@"file:///Users/f ...
- [BS-27] 创建NSURL的几个方法的区别
创建NSURL的几个方法的区别 URL的基本格式 = 协议://主机地址/路径 URL和Path的区别 * URL:统一资源定位符,格式 “协议+主机名称+路径” 例如:[NSURL UR ...
- NSUrl的打印
1转自 http://my.oschina.net/wangdk/blog/165554: NSURL *url = [NSURL URLWithString:@"http://www.ba ...
- NSUrl 的常见用法
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com/s?tn=baiduhome_pg&bs=NSRUL&f=8 ...
- Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】
———————————————————————————————————————————从文件中读写字符串(直接读写/通过NSURL读写) #import <Foundation/Foundati ...
- iOS开发——网络Swift篇&NSURL进行数据请求(POST与GET)
NSURL进行数据请求(POST与GET) 使用Swift进行iOS开发时,不可避免的要进行远程的数据获取和提交. 其数据请求的方式既可能是POST也可能是GET.同不管是POST还是GET又可以 ...
- 关于NSURL的一些属性的记录
关于NSURL的一些属性的记录 NSLog(@"%@", request.URL.absoluteString); NSLog(@"%@", request.U ...
- 简单使用NSURLConnection、NSURLRequest和NSURL
以下是代码,凝视也写得比較清楚: 头文件须要实现协议NSURLConnectionDelegate和NSURLConnectionDataDelegate // // HttpDemo.h // My ...
随机推荐
- kmp代码实现
/* kmp彻底理解 next 数组 :用来指导S[i]串 T[j]串 对应字符失配 指导 i 不回溯,即j应该走多少个位置 next[j]:j位置前一个元素 需要 计算某个字符对应的next值,就是 ...
- Java图片工具类,完成图片的截取和任意缩放
package com.common.util; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Renderin ...
- OpenGL ES 2.0 绘制方式
OpenGL ES 中支持的绘制方式大致分3类,包括点.线段.三角形,每类中包括一种或多种具体的绘制方式. GL_POINTS 传入渲染管线的一系列顶点单独进行绘制. GL_LINES 传入渲染管 ...
- C# winform 窗体 彻底退出窗体的方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消 ...
- setTimeout与setInterval方法的区别
setTimeout与setInterval方法的区别 setTimeout()用于设定在指定的时间之后执行对应的函数或代码.,在全局作用域下执行 setTimeout(code,time[,args ...
- 图文-水平垂直居中兼容ie6+
图文-水平垂直居中兼容ie6+ 具体代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...
- 方便代理下单的EcStore收货地址一键分析插件,同时支持淘宝/京东/一号店
使用EcStore开展分销的网站,代理需要经常代客下单,每个客户收货地址都不同,要选择和填写多个内容才能完成地址输入:省.市.区.详细地址.收货人姓名.手机电话等,非常麻烦,也容易输入错误.安装EcS ...
- Python学习(一) Python安装配置
我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...
- HTML5 的段落首行缩进
text-indent:0em;表示当前行不需要缩进,文本顶头开始.这个属性可以用在 div p等元素下面 文本首行的缩进(在首行文字之前插入指定的长度) p { line-height: 2em ...
- VBoxManage.exe: error: Resize hard disk operation for this format is not implemented yet!
VirtualBox虚拟磁盘空间不够了,默认10G.想扩大,图形界面下没有找到可操作菜单.Google了一下用 Vbox自带的命令工具VBoxManage即可解决. C:\Program Files\ ...