NSURL类


文章转自http://haoxiang.org/2011/10/nsurl/

码农Coding的时候有各种不好的习惯。
比如,不喜欢好好地看框架的文档,一旦找到某一个看起来简单易懂的接口,就一直用它。
如果需要之后的处理,往往简单粗暴。
我们以前管这种情况叫做“裸”。最近又不知不觉地写了比较“裸”的代码。
说实话,这个习惯得改,“裸”写的东西往往不健壮,不可读,效率还不高。成熟框架提供的直接可用的接口必须是第一选择。

NSURL是常用的类,用来描述一段URL的。
需要取得URL中不同部分的时候,我们应该用URL提供的接口,
而不是把它当做一个普通的字符串去手工分析。

比如:

http://www.testurl.com:8080/subpath/subsubpath?uid=123&gid=456

1
NSURL *url = [NSURL URLWithString:@"http:/www.testurl.com:8080/subpath/subsubpath?uid=123&gid=456"];

下面是常用的几个接口,和它们的输出。接口意思都符合相关RFC里的定义。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[url scheme]
http
 
[url host]
www.testurl.com
 
[url port]
8080
 
[url path]
/subpath/subsubpath
 
[url lastPathComponent]
subsubpath
 
[url query]
uid=123&gid=456

NSURL 英文版 :]

NSURL is widely used, but sometimes we are not following the idiomatic usage.

When it comes to access part of the url, it is better to use the methods NSURL provide, instead of analysis its absoluteString manually.

Take this one for example:

http://www.testurl.com:8080/subpath/subsubpath?uid=123&gid=456

NSURL *url = [NSURL URLWithString:@"http://www.testurl.com:8080/subpath/subsubpath?uid=123&gid=456"];
Here listed some frequently-used accessors and results:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[url scheme]
http
 
[url host]
www.testurl.com
 
[url port]
8080
 
[url path]
/subpath/subsubpath
 
[url lastPathComponent]
subsubpath
 
[url query]
uid=123&gid=456

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
音频、视频播放相关的使用方法可以分为以下几个步骤: 1. 导入相关库 在使用音视频播放功能之前,需要先导入相关的库,常用的有AVFoundation、MediaPlayer、AVKit等。 2. 创建AVPlayer对象 AVPlayer是音视频播放的核心,通过它可以控制音视频的播放、暂停、快进、快退等操作。创建AVPlayer对象的代码如下: ``` NSURL *url = [NSURL URLWithString:@"http://example.com/example.mp4"]; AVPlayer *player = [AVPlayer playerWithURL:url]; ``` 3. 创建AVPlayerLayer对象 AVPlayerLayer是AVPlayer的显示层,用于展示视频内容。创建AVPlayerLayer对象的代码如下: ``` AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player]; playerLayer.frame = self.view.bounds; [self.view.layer addSublayer:playerLayer]; ``` 这里将AVPlayerLayer添加到了self.view的layer上,如果需要将视频展示在特定的UI控件上,可以将playerLayer添加到该UI控件的layer上。 4. 操作AVPlayer对象 创建AVPlayer对象和AVPlayerLayer对象之后,就可以对AVPlayer对象进行操作了,比如播放、暂停、快进、快退等操作。常用的操作代码如下: ``` [player play]; // 播放 [player pause]; // 暂停 [player seekToTime:CMTimeMakeWithSeconds(10, 1)]; // 快进到第10秒 [player seekToTime:CMTimeMakeWithSeconds(10, 1) completionHandler:^(BOOL finished) { // 快进完成后的回调 }]; ``` 以上就是音频、视频播放相关的使用方法,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值