iPad:[[NSURL absoluteURL]pathExtension] 在 3.2 中不可用

Posted

技术标签:

【中文标题】iPad:[[NSURL absoluteURL]pathExtension] 在 3.2 中不可用【英文标题】:iPad: [[NSURL absoluteURL]pathExtension] not available in 3.2 【发布时间】:2010-11-06 03:47:59 【问题描述】:

我正在将一些代码移植到 iPad 并针对 3.2。我在 NSURL 的 -pathExtension 方法中使用了一些 4.0 专有代码。

根据超链接指向的内容,我会以不同方式处理所有 Web 请求。在 4.0 出来之前有没有办法做到这一点,还是我只是用 NSRange 读取 URL 字符串的最后 4 个字符?

我正在尝试区分 .png 和 .jpg 文件,如果用户想浏览其中一个,我会以不同方式处理。

这就是我现在正在做的,但正在寻找更好的方法:

NSString *path = [[[request URL]absoluteURL]path];
NSInteger pathLength = [path length];
NSInteger lengthToPeriod = pathLength - 3;
NSRange extensionRange = NSMakeRange(lengthToPeriod,3);
NSString *extension = [path substringWithRange:extensionRange];

【问题讨论】:

请记住,比较文件扩展名并不能保证您会得到什么文件类型。你想等到 NSURLResponse 进来,然后根据它的 MIME 类型来决定。 【参考方案1】:

根据文档,-[NSString pathExtension] 在 ios 2.0 及更高版本上可用。当您尝试在 3.2 中编译这样的行时,您是否遇到编译器错误?

[[[[request URL] absoluteURL] path] pathExtension];

【讨论】:

不,因为我正忙于在 NSURL 文档中查找内容!谢谢你的帮助,朋友

以上是关于iPad:[[NSURL absoluteURL]pathExtension] 在 3.2 中不可用的主要内容,如果未能解决你的问题,请参考以下文章

第一个视频在 iPad 上拉伸(AVPlayer)

如何使用 IOS(iPhone、iPad)以编程方式下载文件?

我需要在 ipad 上播放没有声音的视频

在 iPhone/iPad 应用程序中播放音频文件?

-writeToURL 不会覆盖之前的写入

通过 iPad 上的 3rd 方 VoIP 应用程序发起呼叫