NSURL

简介: 1:NSURL初始化方法: NSURL *url=[NSURL URLWithString:@"http://www.baidu.com?id=1"]; 2:解决NSURL初始化失败的相关解决方案.

1:NSURL初始化方法:

NSURL *url=[NSURL URLWithString:@"http://www.baidu.com?id=1"];


2:解决NSURL初始化失败的相关解决方案.

将传进来的NSString 进行 UTF8 转码即可.

1:针对 URLWithString 初始化失败的解决方案

NSString *strLocalHtml = @"file:///Users/amarishuyi/Desktop/My IPhone Life/WebDeveloper/WebPlug-in/ExtEditor/DataPage/KMQT/Ext-HTMLEditor.html";
strLocalHtml = [NSString stringWithFormat:@"%@?Value=%@",strLocalHtml,self.txtUrl.text];
strLocalHtml= [strLocalHtml stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL * url=[NSURL URLWithString:strLocalHtml];

2:针对 fileURLWithPath 初始化失败的解决方案

self.filePathString = [self.filePathString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL fileURLWithPath:self.filePathString];

转码成功后 会自动 在字符串左侧添加 "file:///"

3:NSURL 成功初始化后可以获取的参数 (摘自:NSURL 学习 )


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]);

结果如下:

2012-03-31 18:22:20.904 SmallDemoList[5473:11603] 12131232
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Scheme: http
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Host: www.baidu.com
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Port: (null)
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Path: /s
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Relative path: /s
2012-03-31 18:22:20.907 SmallDemoList[5473:11603] Path components as array: (
    "/",
    s
)
2012-03-31 18:22:20.916 SmallDemoList[5473:11603] Parameter string: (null)
2012-03-31 18:22:20.917 SmallDemoList[5473:11603] Query: tn=baiduhome_pg&bs=NSRUL&f=8&rsv_bp=1&rsv_spt=1&wd=NSurl&inputT=2709
2012-03-31 18:22:20.917 SmallDemoList[5473:11603] Fragment: (null)
2012-03-31 18:22:20.917 SmallDemoList[5473:11603] User: (null)
2012-03-31 18:22:20.917 SmallDemoList[5473:11603] Password: (null)

4:根据文件名称和文件后缀获取程序包内容文件的路径

NSURL *urlKindEditor = [[NSBundlemainBundle]URLForResource:@"simple"withExtension:@"html"subdirectory:@"KindEditor/examples"]; 


URLForResource:文件名称

withExtension:文件后缀

subdirectory:在程序包中的哪个子目录中寻找. 

如果没有找到将会返回nil

找到后返回如下路径: file://localhost/Users/amarishuyi/Library/Application%20Support/iPhone%20Simulator/5.1/Applications/FB0CDABC-D0E2-45FF-AA2C-959E8A65ADB4/SmallDemoList.app/KindEditor/examples/simple.html

5:对比两个URL 是否相等

[url isEqual:[_audioPlayer url]]





目录
相关文章
|
存储 缓存 弹性计算
蚂蚁安全科技云原生部署最佳实践
背景简介ZOLOZ 是蚂蚁金服旗下的全球可信身份平台,通过业内领先的生物识别、大数据分析和人工智能技术,为用户和机构提供安全又便捷的数字身份识别解决方案。ZOLOZ 已为中国、印尼、马来西亚、菲律宾等 14 个国家和地区的 70 余家合作伙伴提供数字化转型过程中的安全风控技术支持。目前,已经覆盖金融、保险、证券、信贷、电信、公众服务等领域,累计服务用户超 12 亿。 随着 Kubernetes 和
284 0
|
8月前
|
存储 前端开发
RxSwift+MVVM项目实战-MVVM架构介绍以及实战初体验
RxSwift+MVVM项目实战-MVVM架构介绍以及实战初体验
285 0
|
iOS开发
iOS跳转系统设置
设置跳转有两种方式,你的应用要提前至少申请了某一个权限,如(通知,定位等)。否则,会引起崩溃。
2002 0
|
10月前
|
存储 JSON 算法
GO 权限管理之 Casbin
我们来回顾一下上次分享的 GO中 gjson 库的应用和分享,它主要是提供了一种非常快速且简单的方式从json文档中获取相应值
200 0
|
iOS开发
iOS - 个人中心果冻弹性下拉动画
iOS - 个人中心果冻弹性下拉动画
213 0
iOS - 个人中心果冻弹性下拉动画
|
存储 PHP 数据库
iOS开发之进阶篇(1)—— 证书、打包上架流程、p12文件
iOS开发之进阶篇(1)—— 证书、打包上架流程、p12文件
|
域名解析 网络协议 网络架构
|
移动开发 IDE 开发工具
Android编译报错:org.jetbrains.plugins.gradle.tooling.uti
Android编译报错:org.jetbrains.plugins.gradle.tooling.uti
403 0
|
存储 编译器 测试技术
Swift 之关键字总结
在Swift官方文档的词汇结构中, 有非常多的关键字, 它们被用于声明中、语句中、表达式中、类中、模式中, 还有以数字符号#开头的关键字, 以及特定上下文环境使用的关键字。 本文中涉及的代码可以在这里下载代码资源。
437 0
|
存储 SQL 缓存
MySQL存储引擎详解(一)-InnoDB架构
MySQL存储引擎详解(一)-InnoDB架构
363 0
MySQL存储引擎详解(一)-InnoDB架构