Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 确定Swift中路径字符串的文件类型_Ios_Swift - Fatal编程技术网

Ios 确定Swift中路径字符串的文件类型

Ios 确定Swift中路径字符串的文件类型,ios,swift,Ios,Swift,我需要根据字符串中的文件名来确定文件的文件类型。因此我决定获取字符串的最后三个字符来确定文件类型。如何获取字符串中的最后三个字符。比如说 var fileName = "test.pdf" 我需要单独获取pdf除此之外,还有其他更好的方法检查文件类型吗。请也向我推荐。因为我认为,我将能够识别文件类型是否包含四个字符,如“jpeg”和其他内容。提前谢谢。我想您正在寻找: let filename: String = "test.pdf" let pathExtention = filename.

我需要根据字符串中的文件名来确定文件的文件类型。因此我决定获取字符串的最后三个字符来确定文件类型。如何获取字符串中的最后三个字符。比如说

var fileName = "test.pdf"

我需要单独获取pdf除此之外,还有其他更好的方法检查文件类型吗。请也向我推荐。因为我认为,我将能够识别文件类型是否包含四个字符,如“jpeg”和其他内容。提前谢谢。

我想您正在寻找:

let filename: String = "test.pdf"
let pathExtention = filename.pathExtension
解释为路径的字符串的路径扩展名(如果有)。(只读) 声明

迅捷的

讨论

路径扩展是最后一个周期(如果有)之后的最后一个路径组件的部分。不包括延伸分隔器。下表说明了
pathExtension
对各种不同路径的影响:

接收方字符串值

返回的字符串

/tmp/scratch.tiff“tiff”

例如:

file.pathExtension

从Swift 2.x开始,
pathExtension
不再适用于
String

您可以改为转换为
NSString
,并执行以下操作:

let filename = "test.pdf"
let extension = (filename as NSString).pathExtension
下载 添加到您的项目中并像这样使用

if let fileURL = URL(string: newURL){
        let fileUTI = UTI(withExtension: fileURL.pathExtension)
        switch fileUTI {
        case .pdf:
            print("add PDF Options")
            self.selecteFileMemeTyp = fileUTI.mimeType!
            self.addAllPDFOptions()
        case .jpeg:
            print("add jpg Options")
        case .png:
            print("add png Options")
        case .tiff:
            print("add tiff Options")
        case .gif:
            print("add gif options")
        case .spreadsheet:
            print("add excel Options")
        case .html:
            print("add html options")
        case .zipArchive:
            print("add zip Options")
            break
        case .docx , .doc:
            print("add dox options")
        default:
            print("default")
        } }

感谢您提及是否包括dot。标准文档没有提到这一点。
if let fileURL = URL(string: newURL){
        let fileUTI = UTI(withExtension: fileURL.pathExtension)
        switch fileUTI {
        case .pdf:
            print("add PDF Options")
            self.selecteFileMemeTyp = fileUTI.mimeType!
            self.addAllPDFOptions()
        case .jpeg:
            print("add jpg Options")
        case .png:
            print("add png Options")
        case .tiff:
            print("add tiff Options")
        case .gif:
            print("add gif options")
        case .spreadsheet:
            print("add excel Options")
        case .html:
            print("add html options")
        case .zipArchive:
            print("add zip Options")
            break
        case .docx , .doc:
            print("add dox options")
        default:
            print("default")
        } }