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 中不可用的主要内容,如果未能解决你的问题,请参考以下文章