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 ...
随机推荐
- .net简单页面后台绑定下拉框,按钮,分页 前台aspx页面
一.aspx页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Updat ...
- [C入门 - 游戏编程系列] 序言篇
记得学习C语言的时候,看着别人能写各种各样的小游戏和小软件,甚是羡慕.而自己,虽然说语法都会,但是真正上手写个几百行的代码,就显得力不从心.曾经一度很是郁闷,看过一些书,大都处于教语法的层面,有些涉及 ...
- 使用Hexo搭建GitPage
资料: hexo官方文档:https://hexo.io/zh-cn/docs/ jekyll官方文档:http://jekyll.com.cn/docs/home/ 简介: 使用hexo和jekyl ...
- iOS数据持久化 -- Core Data-备用
Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互.Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需 ...
- 【GNOME 边框】GNOME窗口无边框
今天我新装了一台LINUX UBUNTU12.10,顺手就把UNITY换成了GNOME,但是发现边框消失. 大概原因:metacity 不同版本配置之间的冲突. 解决办法:删除home目录下的旧配置文 ...
- 考查嵌入式C开发人员的最好的16道题
约定: 1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了 2)数据类型 char 一个字节 1 byte int 两个字节 2 byte ( ...
- fragment中嵌套viewpager,vierpager中有多个fragment,不显示 .
fragment中嵌套viewpager,vierpager中有多个fragment,不显示 ... 现在好多应用流行一种布局.底部几个工具栏选项,上面也有类似tab的选项. 底部用RadioGrou ...
- 关于Store Apps
因为时代在变迁,Store Apps这个概念很容易引起混淆 在过去,windows phone 8.0时代 windows store apps指的是windows metro style 的应用, ...
- 如何判断是REQUEST请求是来自移动终端还是来自PC端
public bool IsMoblie() { string agent = (Request.UserAgent + "").ToLower ...
- DBA 经典面试题(2)
三.备份恢复类 ================================================================================ 1:备份如何分 ...